Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33

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

02.07.2014, 17:17. Показов 1849. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая позволяет определить наибольшее из 3 чисел для данных
разных типов. Используйте template (C++)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2014, 17:17
Ответы с готовыми решениями:

Как создать список для объектов разных типов данных
Здравствуйте, подскажите, пожалуйста, у меня есть задание: Создать базовый класс «Транспорт» и несколько производных от него классов :...

Перегрузка оператора для разных типов данных шаблонного класса
Создаю оператор инкремента. Как создать отдельный оператор инкремента для каждого типа объекта класса? Если допустим у меня будут несколько...

Для заданной строки определить, наличие в ней символов разных типов
Описать следующие множества: numbers (содержит символы от '0' до '9'), lowerCase(содержит символы от 'a' до 'z'), upperCase(содержит...

16
7 / 7 / 2
Регистрация: 16.08.2011
Сообщений: 77
02.07.2014, 17:50
Эта программа должна получать данные типа int и сравнивать с типами int , потом получать даные типа char и сравнивать их тоже между сабой , и тип double также само или тебе нужно сравнить int c char i c double ?
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
02.07.2014, 17:56
Цитата Сообщение от Itachirull Посмотреть сообщение
для данных разных типов.
во второй задаче уже это определение
расшифруй
между собой типы равны? или разные?

Добавлено через 2 минуты
Джек,
а вот и не понятно
вот здесь с той же формулировкой
Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
а люди голову ломают
0
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 17:56  [ТС]
Типы разные
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
02.07.2014, 17:58
Цитата Сообщение от Itachirull Посмотреть сообщение
Типы разные
Спасибо, объяснил
сравнивать данные разных типов как можно
как например целочисленный тип сравнить со строкой?
0
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:00  [ТС]
прошу прощения там данные разных типов

Добавлено через 24 секунды
а между собой они равны
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
02.07.2014, 18:00
Цитата Сообщение от ValeryS Посмотреть сообщение
как например целочисленный тип сравнить со строкой?
если определен соответствующий оператор
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
02.07.2014, 18:08
Лучший ответ Сообщение было отмечено Itachirull как решение

Решение

Цитата Сообщение от 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);
}
1
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
02.07.2014, 18:10
Цитата Сообщение от ValeryS Посмотреть сообщение
return a>max_2(b,c)?a: max_2(b,c);
Зачем, можно ж просто: max_2 ( max_2( a, b ), c )
2
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
02.07.2014, 18:13
Цитата Сообщение от Voivoid Посмотреть сообщение
можно ж просто
можно
я же сказал
Цитата Сообщение от ValeryS Посмотреть сообщение
примерно
1
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:18  [ТС]
друзья , помогите мне еще с некоторыми задачами , просто у меня на носу экзамен , а я не бум бум в C++ .
0
7 / 7 / 2
Регистрация: 16.08.2011
Сообщений: 77
02.07.2014, 18:25
Вот код както так только в функции 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, Пишы если есть вопросы думаю все здесь помогут и я в том числе
0
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:28  [ТС]
я просто навичек в форуме и не совсем еще разобрался , но они есть в постах каторые я размещал на сайте )) спасибо )
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
02.07.2014, 18:28
Цитата Сообщение от ValeryS Посмотреть сообщение
а результатом сравнения что будет
как напишут, так и будет , например, "Мама мыла раму"!=1, а вот "1.0000" == 1
0
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:28  [ТС]
новичек
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
02.07.2014, 18:48
Интересно, а почему так не определяется правильный возвращаемый тип?
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)))
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
02.07.2014, 18:50
Лол, а на основании чего он должен определиться-то? Вычисления-то в рантайм. Если нужны проверки в компайл-тайм, то ставь constexpr
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2014, 18:50
Помогаю со студенческими работами здесь

Создание шаблонной функции для работы с массивами разных типов данных
Здравствуйте. Столкнулся со следующей проблемой: не могу написать шаблонную функцию подсчета суммы элементов в массиве между первым и...

Как создать общий список с разных типов данных для 2 потомков?
Есть базовый абстрактный класс и 2 потомка. Как создать общий список с разных типов данных для 2 потомков?

Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
не могу решить ( честно говоря вообще не понимаю его ) ((((( Напишите функцию swap перестановки значений двух переменных для данных...

Передача разных типов данных
Комрады, прошу совета, в ближайшее время предстоит сделать одно приложение, суть вот в чем... Допустим есть следующие структуры: ...

переножение разных типов данных
Можно ли в запросе с помощью построителя задать формулу и перемножить разные типы данных. например денежный и числовой?


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru