Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 25
1

Использование функций и шаблонов функций

04.12.2010, 22:15. Показов 5487. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Люди помогите пожалуйста
буду очень благодарна)
вобщем вот
первая часть лабы
Написать программу, функция main которой включает вызов 3х функций:
- 1-я функция осуществляет ввод исходных данных;
- 2-я функция осуществляет расчет результатов;
- 3-я функция выводит результаты расчета на экран.
В программе использовать два способа передачи параметров в функцию: по значению и по адресу.
Вариант4. На биржевых торгах за 1 фунт стерлингов давали $1,487 долларов, за франк- $0,172, долларов, за немецкую марку - $0,584 долларов, а за японскую Йену - $0,00955 долларов. Напишите программу, которая запрашивает денежную сумму в долларах, а затем выводит эквивалентные суммы в других валютах.
и вторая
Напишите программу, осуществляющую ввод элементов массива, и содержащую шаблон функции, возвращающей (по вариантам):
вариант 4. Средний элемент массива, если количество элементов нечетно, либо максимальных элемент массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2010, 22:15
Ответы с готовыми решениями:

Использование функций и шаблонов функций
Составьте программу – формирование цены на молоко. Животновод в начале каждой зимы цену на молоко...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг...

Использование функций-шаблонов
Для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода...

Использование функций шаблонов
Использование функций шаблонов: для работы с двумерными массивами арифметических типов данных...

8
4853 / 2653 / 911
Регистрация: 29.11.2010
Сообщений: 5,719
05.12.2010, 00:54 2
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
#include <algorithm>
#include <time.h>
 
using namespace std;
 
struct SCurrencyValue
{
    string name;
    float factor;
 
    SCurrencyValue(string name, float factor)
    {
        this->name = name;
        this->factor = factor;
    }
 
    SCurrencyValue()
    {
        name = "";
        factor = 0.0;
    }
};
 
float read_amount()
{
    float amount;
    // для ввода вручную, заменить следующую строчку
    // на две:
    // cout << "Input amount in $: "
    // cin >> amount
    amount = static_cast<float>(rand()%1000)/10;
 
    return amount;
}
 
float calc_result(float factor, float amount)
{
    return amount/factor;
}
 
void print_result(vector<SCurrencyValue> &V, float amount)
{
    for (vector<SCurrencyValue>::iterator i=V.begin(); i!=V.end(); i++)
    {
 
        cout << "$" << amount << " in " << i->name << ": " << calc_result(i->factor, amount) << endl;
    }
}
 
int main()
{
    srand(static_cast<unsigned int>(time(0)));
 
    vector<SCurrencyValue> V;
    V.push_back(SCurrencyValue("E. Pound", 1.487));
    V.push_back(SCurrencyValue("F. Franc", 0.172));
    V.push_back(SCurrencyValue("D. Mark", 0.584));
    V.push_back(SCurrencyValue("J. Yena", 0.00955));
 
    print_result(V, read_amount());
 
    system("pause");
}
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.12.2010, 01:05 3
Писал из рассчета что средний элемент массива != медиане массива, а тупо средний элемент.

2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
template<class T>
T get_elem(T* Arr, int n)
{
    if(n%2!=0)
    {
       std::cout<<"Return middle element of array\n";
       return Arr[n/2];
    }
    std::cout<<"Return max element of array\n";
    T max=Arr[0];
    for(int i=0; i<n; ++i)
    {
       if(Arr[i] > max)
          max=Arr[i];
    }
    return max;
}
 
int main()
{
    int* Arr;
    int n;
    std::cout<<"Enter n: ";
    std::cin>>n;
    Arr=new int[n];
    for(int i=0; i<n; ++i)
      std::cin>>Arr[i];
    std::cout<<get_elem(Arr, n)<<'\n';
    delete[] Arr;
    return 0;  
}
0
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 25
06.12.2010, 13:17  [ТС] 4
спасибо огромное просто)
очень прмя спасибо
ааа
я счастлива):***

Добавлено через 23 часа 47 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <fstream.h> 
#include <string.h> 
#include <stdlib.h> 
 
int main() { 
 
struct aeroflot { 
char naz[15];  
int number; 
char tip[6]; 
}; 
 
aeroflot tr[4]; 
 
//Vvod elementov s klaviaturi 
int kol=4; 
int i; 
cout<< "vvedite nazvanie punkta naznacheniya reisa(ne bolee 15 simvolov) "<<endl 
<< "vvedite nomer reisa "<<endl 
<< "vvedite tip samoleta (ne bolee 6 simvolov)"<<endl; 
 
for (i=0; i<kol; i++) { 
cout << i+1 <<"-i marshrut:" << endl; 
cin>> tr[i].naz >> tr[i].number >> tr[i].tip; 
// cout<< tr[i].naz << tr[i].number << tr[i].tip<<endl; 
} 
//sortirovka 
long imin=0; 
for (i=0; i<kol; i++) { 
for (int j=i+1; j<=kol; j++) 
if (tr[j].number<tr[imin].number) {imin = tr[j].number; 
aeroflot a = tr[i]; 
tr[i] = tr[imin];  
tr[imin] = a;} 
cout << tr[i].naz <<" " << tr[i].number << " " << tr[i].tip<<endl; 
} 
//vivod 
cout << endl << "Otsortirovanniy massiv: " << endl; 
for (i=0; i<kol; i++) { 
cout << tr[i].naz <<" " << tr[i].number << " " << tr[i].tip; 
cout << endl; 
} 
 
//poisk po nazvaniu reisa  
while (true) { 
char vv [21]; //Поиск самолетв 
cout << endl << "Vvedite nazvanie punkta naznacheniya reisa" << endl;  
cin >> vv; 
bool f = false; //Флаг (найден ли хоть один) 
for (i=0; i<kol; i++) 
if (strcmp (tr[i].naz, vv)==0) { //Вывод информации при совпадениях 
cout << "Nomer reisa:" <<' '<< tr[i].number <<' '<< "Tip samoleta:" <<' '<< tr[i].tip << ' '<<endl; 
f = true; 
} 
if (!f) cout << "Net takogo punkta naznzcheniya"; //Сообщение при отсутствии необходимых данных 
} 
return 0; 
}
Добавлено через 26 секунд
какая там ошибкаааа(((
я не могу понять
чего оно
0
4853 / 2653 / 911
Регистрация: 29.11.2010
Сообщений: 5,719
06.12.2010, 13:24 5
1. Форматируйте код.
2. Где и какая там "ошибкаааа"?
0
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 25
06.12.2010, 14:11  [ТС] 6
вот сдесь почему то
C++
1
2
3
cout << "[/COLOR]vvedite nazvanie punkta naznacheniya reisa(ne bolee 15 simvolov) "<<endl
<< "vvedite nomer reisa "<<endl
<< "vvedite tip samoleta (ne bolee 6 simvolov)"<<endl;
я не могу понять?????
в buildere c++
0
0 / 0 / 0
Регистрация: 10.10.2017
Сообщений: 2
12.11.2011, 21:30 7
Цитата Сообщение от Парапулька Посмотреть сообщение
Вариант4. На биржевых торгах за 1 фунт стерлингов давали $1,487 долларов, за франк- $0,172, долларов, за немецкую марку - $0,584 долларов, а за японскую Йену - $0,00955 долларов. Напишите программу, которая запрашивает денежную сумму в долларах, а затем выводит эквивалентные суммы в других валютах.
тема прошлого года, но вдруг кому-нить пригодится

решил начать изучать с++, занимаюсь по книге "объектно-ориентированное программирование в с++" лафоре и эта задача есть в упражнениях.
здесь уже дали решение этой задачи, но в книге задача дается после первых 2х глав и б0льшая часть функций еще даже не рассматривалась.
вот что получилось у меня. готов выслушать любые замечания и советы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdafx.h"
#include <iostream>
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    
    float pound = 1.487; // типа, назначаем переменную
    float mark = 0.584;
    float frank = 0.172;
    float ena = 0.00955;
    float dollar1;
    
        cout << "введите сумму долларов  "; // ну, тут все йасно
        cin >> dollar1;
 
    cout << dollar1 * pound << " фунтов " << endl;  // получаем результат
    cout << dollar1 * mark << " марок " << endl;
    cout << dollar1 * frank << " франков " << endl;
    cout << dollar1 * ena << " йена " << endl;
    getchar();
    getchar();
    return 0;
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12729 / 7559 / 1762
Регистрация: 25.07.2009
Сообщений: 13,934
12.11.2011, 21:42 8
Цитата Сообщение от Eg0 Посмотреть сообщение
cout << dollar1 * pound << " фунтов " << endl;
и далее по тексту - эдак получится, что за 1 доллар дают аж 1.487 фунта и всего 0.00955 йены. Умножение нужно на деление заменить.
1
0 / 0 / 0
Регистрация: 10.10.2017
Сообщений: 2
12.11.2011, 22:04 9
точно , спс! сообщение отредактировать уже не могу(
0
12.11.2011, 22:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2011, 22:04
Помогаю со студенческими работами здесь

использование функций-шаблонов
для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода...

Использование функций-шаблонов
На уроке преподаватель не объясняет как решать. Задачи берутся из &quot;Основы программирования на языке...

Использование функций шаблонов
Ребят помогите. надо для работы с двумерными массивами арифметических типов данных разработать...

Использование функций шаблонов
Помогите с задачей: Подсчитать среднее арифметическое ненулевых элементов, расположенных под...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru