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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
#1

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

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

Напишите программу, которая позволяет определить наибольшее из 3 чисел для данных
разных типов. Используйте template (C++)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2014, 17:17     Определить наибольшее из 3 чисел для данных разных типов
Посмотрите здесь:

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

Не считает произведение разных типов данных - C++
Никак не могу разобраться, почему программа не хочет считать произведение. Вот часть кода: for (i=0;i<N;i++) { p=1.0*ws/N; }...

Засечь время сортировки разных типов данных - C++
Всем доброго времени суток, нужно в программе засечь время выполнения сортировки разными способами, в моём случае это выборки и обмен,и для...

Простое создание строки из объектов разных типов данных - C++
Всем доброго времени суток. Создал класс, который (по моему мнению) сделает более удобным создание строк и их передачу в функции,...

Сколько разных чисел имеет наибольшее натуральное число? - C++
Доброго времени суток уважаемые !!!! учусь на заочном, сам не программист, но вот есть предмет, структурное программирование, которое...

Статический контейнер для разных типов - C++
Доброго здоровица. Как объявить контейнер для хранении различных типов? Правилен ли такой метод? template <class T> class...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Джек
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
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,728
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
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,728
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
Модератор
Эксперт CЭксперт С++
13046 / 7309 / 814
Регистрация: 27.09.2012
Сообщений: 18,043
Записей в блоге: 3
Завершенные тесты: 1
02.07.2014, 18:00     Определить наибольшее из 3 чисел для данных разных типов #7
Цитата Сообщение от ValeryS Посмотреть сообщение
как например целочисленный тип сравнить со строкой?
если определен соответствующий оператор
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,728
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
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
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
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,728
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
Модератор
Эксперт CЭксперт С++
13046 / 7309 / 814
Регистрация: 27.09.2012
Сообщений: 18,043
Записей в блоге: 3
Завершенные тесты: 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
1429 / 766 / 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++
Здравствуйте! Подскажите как можно реализовать такую задачу: В базе данных должны быть записи, которые состоят из полей. Поля...

Найти строку матрицы, в которой наибольшее количество разных чисел, и отсортировать её по убыванию - C++
В двумерном массиве найти строку в которой наибольшее количество разных чисел и отсортировать её за спаданием.

Как сделать один шаблон для разных типов - C++
Предположим я реализую некоторый шаблонный класс, в котором, ну ради примера к объектам шаблонного типа (тип, используемый в заголовке...

Сделать один метод для 3 разных типов массивов - C++
Не получается сделать один метод для 3 разных типов массивов... помогите пожалуйста // WorkShablon.cpp: определяет точку входа для...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru