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

Определить наибольшее из 3 чисел для данных разных типов - C++

Восстановить пароль Регистрация
 
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 17:17     Определить наибольшее из 3 чисел для данных разных типов #1
Напишите программу, которая позволяет определить наибольшее из 3 чисел для данных
разных типов. Используйте template (C++)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Джек
5 / 5 / 0
Регистрация: 16.08.2011
Сообщений: 77
02.07.2014, 17:50     Определить наибольшее из 3 чисел для данных разных типов #2
Эта программа должна получать данные типа int и сравнивать с типами int , потом получать даные типа char и сравнивать их тоже между сабой , и тип double также само или тебе нужно сравнить int c char i c double ?
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,061
02.07.2014, 17:56     Определить наибольшее из 3 чисел для данных разных типов #3
Цитата Сообщение от Itachirull Посмотреть сообщение
для данных разных типов.
во второй задаче уже это определение
расшифруй
между собой типы равны? или разные?

Добавлено через 2 минуты
Джек,
а вот и не понятно
вот здесь с той же формулировкой
Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
а люди голову ломают
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 17:56  [ТС]     Определить наибольшее из 3 чисел для данных разных типов #4
Типы разные
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,061
02.07.2014, 17:58     Определить наибольшее из 3 чисел для данных разных типов #5
Цитата Сообщение от Itachirull Посмотреть сообщение
Типы разные
Спасибо, объяснил
сравнивать данные разных типов как можно
как например целочисленный тип сравнить со строкой?
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:00  [ТС]     Определить наибольшее из 3 чисел для данных разных типов #6
прошу прощения там данные разных типов

Добавлено через 24 секунды
а между собой они равны
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
02.07.2014, 18:00     Определить наибольшее из 3 чисел для данных разных типов #7
Цитата Сообщение от ValeryS Посмотреть сообщение
как например целочисленный тип сравнить со строкой?
если определен соответствующий оператор
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,061
02.07.2014, 18:08     Определить наибольшее из 3 чисел для данных разных типов #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Croessmah Посмотреть сообщение
если определен соответствующий оператор
а результатом сравнения что будет
"Мама мыла раму"==1

Добавлено через 5 минут
Цитата Сообщение от Itachirull Посмотреть сообщение
а между собой они равны
ну тогда примерно так
C++
1
2
3
4
5
6
7
8
9
10
template <class T>
T max_2(T& a, T& b)
{
 return a>b?a:b;
}
 
T max_3(T& a, T& b,T& c)
{
 return a>max_2(b,c)?a: max_2(b,c);
}
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
02.07.2014, 18:10     Определить наибольшее из 3 чисел для данных разных типов #9
Цитата Сообщение от ValeryS Посмотреть сообщение
return a>max_2(b,c)?a: max_2(b,c);
Зачем, можно ж просто: max_2 ( max_2( a, b ), c )
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,061
02.07.2014, 18:13     Определить наибольшее из 3 чисел для данных разных типов #10
Цитата Сообщение от Voivoid Посмотреть сообщение
можно ж просто
можно
я же сказал
Цитата Сообщение от ValeryS Посмотреть сообщение
примерно
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:18  [ТС]     Определить наибольшее из 3 чисел для данных разных типов #11
друзья , помогите мне еще с некоторыми задачами , просто у меня на носу экзамен , а я не бум бум в C++ .
Джек
5 / 5 / 0
Регистрация: 16.08.2011
Сообщений: 77
02.07.2014, 18:25     Определить наибольшее из 3 чисел для данных разных типов #12
Вот код както так только в функции f там и нужно выполнить равнения и возвратить значения . Это то как я вижу
ка выполнить задачу конечно можно и изменить на сравнение разных типов только нужно использовать операцю привидения типа
(переменная будущего типа a = static_cast<тип из которого нада перевести>(переменная типа из которого переводим))


//---------------------------------------------------------------------------

#pragma hdrstop
#include <iostream.h>
#include <conio.h>


//---------------------------------------------------------------------------

#pragma argsused
template <class T> f(T a,T b,T c)
{

//zdes vipolnaesh operacii sravnenija!!!

if(....)
{return a;}
if(...)
{return b;}
else if(...)
{return c;}
}

int main()
{
int a,b,c;
char x,y,z ;
double m,n,l;
cout << "vvedite celocislenoe znachenie\n";
cin >> a>>b >>c;
cout << f(a,b,c)<< endl;
cin >> a>>b >>c;
cout << f(a,b,c)<< endl;
cout << "vvedite char znachenie\n";
cin >> x>>y >>z;
cout << f(x,y,z)<< endl;
cout << "vvedite double znachenie\n";
cin >> m>>n >>l;
cout << f(m,n,l)<< endl;



getch();

return 0;
}
//---------------------------------------------------------------------------

с разными типами функцыя справиться сама ведь там используються типы определяемые пользователем

Добавлено через 3 минуты
Itachirull, Пишы если есть вопросы думаю все здесь помогут и я в том числе
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:28  [ТС]     Определить наибольшее из 3 чисел для данных разных типов #13
я просто навичек в форуме и не совсем еще разобрался , но они есть в постах каторые я размещал на сайте )) спасибо )
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
02.07.2014, 18:28     Определить наибольшее из 3 чисел для данных разных типов #14
Цитата Сообщение от ValeryS Посмотреть сообщение
а результатом сравнения что будет
как напишут, так и будет , например, "Мама мыла раму"!=1, а вот "1.0000" == 1
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:28  [ТС]     Определить наибольшее из 3 чисел для данных разных типов #15
новичек
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
02.07.2014, 18:48     Определить наибольшее из 3 чисел для данных разных типов #16
Интересно, а почему так не определяется правильный возвращаемый тип?
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
#include <iostream>
#include <typeinfo>
 
template <typename T1, typename T2>
auto max_impl(T1&& t1, T2&& t2) -> decltype(t1 > t2 ? t1 : t2)
{
   return t1 > t2 ? t1 : t2;
}
 
template <typename T1, typename T2, typename T3>
auto max(T1&& t1, T2&& t2, T3&& t3) ->
decltype((t1 > max_impl(t2, t3)) ? t1 : t2 > t3 ? t2 : t3)
{
   return (t1 > max_impl(std::forward<T2>(t2), std::forward<T3>(t3))) ? t1 :
            max_impl(std::forward<T2>(t2), std::forward<T3>(t3));
}
 
int main()
{
   std::cout << max(0.03, 3, 50555555L) << "\n";
   std::cout << max(50555555L, 3, 0.03) << "\n";
 
   std::cout << typeid(max(0.03, 3, 50555555L)).name() << "\n";
   std::cout << typeid(max(50555555L, 3, 0.03)).name() << "\n";
 
   return 0;
}
Добавлено через 6 минут
поправочка
C++
1
2
decltype((t1 > max_impl(std::forward<T2>(t2), std::forward<T3>(t3))) ? t1 :
          max_impl(std::forward<T2>(t2), std::forward<T3>(t3)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 18:50     Определить наибольшее из 3 чисел для данных разных типов
Еще ссылки по теме:

C++ Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
C++ Простое создание строки из объектов разных типов данных
Найти строку матрицы, в которой наибольшее количество разных чисел, и отсортировать её по убыванию C++

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

Или воспользуйтесь поиском по форуму:
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
02.07.2014, 18:50     Определить наибольшее из 3 чисел для данных разных типов #17
Лол, а на основании чего он должен определиться-то? Вычисления-то в рантайм. Если нужны проверки в компайл-тайм, то ставь constexpr
Yandex
Объявления
02.07.2014, 18:50     Определить наибольшее из 3 чисел для данных разных типов
Ответ Создать тему
Опции темы

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