Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Парапулька
 Аватар для Парапулька
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 25
04.12.2010, 22:15     Использование функций и шаблонов функций #1
Люди помогите пожалуйста
буду очень благодарна)
вобщем вот
первая часть лабы
Написать программу, функция main которой включает вызов 3х функций:
- 1-я функция осуществляет ввод исходных данных;
- 2-я функция осуществляет расчет результатов;
- 3-я функция выводит результаты расчета на экран.
В программе использовать два способа передачи параметров в функцию: по значению и по адресу.
Вариант4. На биржевых торгах за 1 фунт стерлингов давали $1,487 долларов, за франк- $0,172, долларов, за немецкую марку - $0,584 долларов, а за японскую Йену - $0,00955 долларов. Напишите программу, которая запрашивает денежную сумму в долларах, а затем выводит эквивалентные суммы в других валютах.
и вторая
Напишите программу, осуществляющую ввод элементов массива, и содержащую шаблон функции, возвращающей (по вариантам):
вариант 4. Средний элемент массива, если количество элементов нечетно, либо максимальных элемент массива.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
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");
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
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
Регистрация: 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 секунд
какая там ошибкаааа(((
я не могу понять
чего оно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.12.2010, 13:24     Использование функций и шаблонов функций #5
1. Форматируйте код.
2. Где и какая там "ошибкаааа"?
Парапулька
 Аватар для Парапулька
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++
Eg0
Сообщений: n/a
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;
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.11.2011, 21:42     Использование функций и шаблонов функций #8
Цитата Сообщение от Eg0 Посмотреть сообщение
cout << dollar1 * pound << " фунтов " << endl;
и далее по тексту - эдак получится, что за 1 доллар дают аж 1.487 фунта и всего 0.00955 йены. Умножение нужно на деление заменить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2011, 22:04     Использование функций и шаблонов функций
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Eg0
Сообщений: n/a
12.11.2011, 22:04     Использование функций и шаблонов функций #9
точно , спс! сообщение отредактировать уже не могу(
Yandex
Объявления
12.11.2011, 22:04     Использование функций и шаблонов функций
Ответ Создать тему
Опции темы

Текущее время: 22:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru