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

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

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

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

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Джек
5 / 5 / 0
Регистрация: 16.08.2011
Сообщений: 77
02.07.2014, 17:50 #2
Эта программа должна получать данные типа int и сравнивать с типами int , потом получать даные типа char и сравнивать их тоже между сабой , и тип double также само или тебе нужно сравнить int c char i c double ?
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
02.07.2014, 17:56 #3
Цитата Сообщение от Itachirull Посмотреть сообщение
для данных разных типов.
во второй задаче уже это определение
расшифруй
между собой типы равны? или разные?

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

Добавлено через 24 секунды
а между собой они равны
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
02.07.2014, 18:00 #7
Цитата Сообщение от ValeryS Посмотреть сообщение
как например целочисленный тип сравнить со строкой?
если определен соответствующий оператор
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
02.07.2014, 18:08 #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 #9
Цитата Сообщение от ValeryS Посмотреть сообщение
return a>max_2(b,c)?a: max_2(b,c);
Зачем, можно ж просто: max_2 ( max_2( a, b ), c )
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
02.07.2014, 18:13 #10
Цитата Сообщение от Voivoid Посмотреть сообщение
можно ж просто
можно
я же сказал
Цитата Сообщение от ValeryS Посмотреть сообщение
примерно
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:18  [ТС] #11
друзья , помогите мне еще с некоторыми задачами , просто у меня на носу экзамен , а я не бум бум в C++ .
Джек
5 / 5 / 0
Регистрация: 16.08.2011
Сообщений: 77
02.07.2014, 18:25 #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  [ТС] #13
я просто навичек в форуме и не совсем еще разобрался , но они есть в постах каторые я размещал на сайте )) спасибо )
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
02.07.2014, 18:28 #14
Цитата Сообщение от ValeryS Посмотреть сообщение
а результатом сравнения что будет
как напишут, так и будет , например, "Мама мыла раму"!=1, а вот "1.0000" == 1
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 18:28  [ТС] #15
новичек
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 18:28
Привет! Вот еще темы с ответами:

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

Реализовать сохранение в базу данных полей разных типов (в том числе и пользовательских) - C++
Здравствуйте! Подскажите как можно реализовать такую задачу: В базе данных должны быть записи, которые состоят из полей. Поля...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.07.2014, 18:28
Ответ Создать тему
Опции темы

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