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

запутался в приведение типов - C++

Восстановить пароль Регистрация
 
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
30.09.2013, 12:49     запутался в приведение типов #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
#include <iostream>
 
using namespace std;
 
template <typename T>
T  Comparison (T * arr);
 
int main()
{
    int int_arr[5];
    cout<<"Input five int val: ";
    for(int i=0; i<5; i++)
        cin>>int_arr[i];
    double double_arr[5];
    cout<<"Input five double val: ";
    for(int i=0; i<5; i++)
        cin>>double_arr[i];
    cout<<"Higest int val: "<<Comparison(int_arr)<<endl;
    cout<<"Higest double val: "<<Comparison(double_arr)<<endl;
 
    return 0;
}
 
template <typename T>
T  Comparison (T * arr)
{
    int tmp=0;
    for(int i=0; i<5; i++)
        if(arr[i]>tmp)
            tmp=arr[i];
    return tmp;
}


при работе с double массивом выводится не double результат а int. Где я неправ? ;(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2013, 12:49     запутался в приведение типов
Посмотрите здесь:

C++ Приведение типов
C++ Приведение типов
Приведение типов C++
C++ Приведение типов.
Приведение типов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
behemoth
 Аватар для behemoth
44 / 30 / 7
Регистрация: 29.09.2012
Сообщений: 75
Записей в блоге: 1
30.09.2013, 12:51     запутался в приведение типов #2
в функциях. вместо
C++
1
 int tmp =0;
C++
1
T tmp=0;
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
30.09.2013, 12:52  [ТС]     запутался в приведение типов #3

накажу себя сам....
Cynacyn
 Аватар для Cynacyn
33 / 33 / 0
Регистрация: 02.05.2013
Сообщений: 109
30.09.2013, 12:52     запутался в приведение типов #4
вместо
C++
1
int tmp=0;
нужно
C++
1
T tmp=0;
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
30.09.2013, 13:12     запутался в приведение типов #5
h_wolf, эту функцию можно сделать более универсальной, передав в нее вторым аргументом размер массива

C++
1
2
3
4
5
6
7
8
9
10
11
template<typename T>
T Comprassion(T *arr, unsigned int size)
{
    T tmp = arr[0];
 
    for (unsigned int i=1; i<size; i++)
        if (arr[i] > tmp)
            tmp = arr[i];
 
    return tmp;
}
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
30.09.2013, 13:17  [ТС]     запутался в приведение типов #6
_, это уже следующее задание, как раз его пишу.
Yandex
Объявления
30.09.2013, 13:17     запутался в приведение типов
Ответ Создать тему
Опции темы

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