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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
dero
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
#1

Объясните о swap() - C++

21.12.2013, 17:25. Просмотров 2091. Ответов 1
Метки нет (Все метки)

Есть такое задание: Описать процедуру Minmax(x,y) записывающую в переменную Х минимальное из значений Х и Y, а в переменную Y – максимальное из этих значений (X и Y- вещественные параметры, являющиеся одновременно входными и выходными) использовать четыре вызова этой процедуры, написать минимальное и максимальное из данных чисел A,B,C,D.

Может есть другое какое-то решение, но я использовал код функции swap():
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>
#include <conio.h>
using namespace std;
 
int a, b, c, d;
 
template <class T> void minmax(T& a, T& b)
{
    if (a > b)
    {
        T c(a); a = b; b = c;
    }
}
 
 
int main()  
{
 
    cout << "a, b ,c ,d = "; cin >> a >> b >> c >> d;
 
    minmax(a, b);
    minmax(c, d);
    minmax(b, d);
    minmax(a, c);
 
    cout << "\nmin: " << a << endl;
    cout << "max: " << d;
 
 
    _getch();
    return 0;
}
Не совсем понятно что означает template <class T> и параметры (T& a, T& b)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 17:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните о swap() (C++):

swap - C++
Ф-ция swap, ее написание/подключение. В общем объясните и расскажите как ее подключить и т.д. Спасибо.

swap - C++
max, swap, min входят в &lt;iostream&gt; это стандартные функции?

swap - C++
Cи подчеркивает swap и говорит что он не определен! в данном случаи а это массив, а i и j индексы элементов swap(a,i,j)

Функция swap - C++
Доброго времени суток! Задался вопросом о реализации алгоритмов обмена двух переменных, но кроме этих ничего другого придумать не...

Функция swap - C++
Всем привет. У меня проблема, при чем проблема не с самими указателями, а с функцией swap. #include &lt;iostream&gt; using namespace std; ...

Ошибка в Swap - C++
Написано на С++ Не могу разобраться в ошибки. Раньше не пользовался Swap альтернативы не вижу. Прошу помочь исправить ошибку или...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
21.12.2013, 17:30 #2
Цитата Сообщение от dero Посмотреть сообщение
Не совсем понятно что означает template <class T> и параметры (T& a, T& b)
swap - шаблонная функция. T - параметр шаблона. Если встретится вызов swap(int, int), то T будет int, если swap(float, float), то T будет float и т.д. То есть это объединение общих функций в одну.
T& - принимать параметр шаблона по ссылке.

Почитайте про шаблонные функции, сразу все поймете. Там и подробней объяснено и примеров достаточно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 17:30
Привет! Вот еще темы с ответами:

Функция swap() - C++
А что выгоднее с точке зрения быстродействия - использование стандартной функции или &quot;ручной&quot; обмен через промежуточную...

Написать функцию swap - C++
был вот такой код: for(i = 0; i &lt; n - 1; i++) { for(j = i + 1; j &lt; n; j++) { if(p.pro &lt; p.pro) ...

Какой swap быстрее? - C++
добрый день. возможно, вопрос глупый (или обсуждался уже, не искал, но все же), что будет быстрее, вот такое: void swap2(int* a, int* b)...

GCC swap const - C++
GCC Сортировка в main Sort_My(&amp;(*a.begin()),&amp;(*a.end()),p); void Sort_My(const Car *beg,const Car *end, bool (*p)(const Car &amp;ob_1,...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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