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

Ошибка функции max () | min() - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
tegos-29
0 / 0 / 0
Регистрация: 02.08.2012
Сообщений: 6
02.08.2012, 23:21     Ошибка функции max () | min() #1
Задача:
Дано три числа, записанный в отдельных строках. Упорядочите их в порядке убывания. Программа должна считывать три числа a, b, c, затем программа должна менять их значения так, чтобы стали выполнены условия a <= b <= c, затем программа выводит тройку a, b, c.

Я хочу решить его таким способом... Но возникает проблема при компиляции... Почему?

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
#include <iostream>
#include <cmath>
#include <algorithm>
 
using namespace std;
 
int main()
{
    int a, b, c;
    cin >> a >> b >> c;
    
    int Ma = min(a, b, c);
    int Mi = max(a, b, c);
    
    if(a <= Ma || a >= Mi)
    {
        cout << Ma << " " << a << " " << Mi;
    }
    
    if(b <= Ma || b >= Mi)
    {
        cout << Ma << " " << b << " " << Mi;
    }
    
    if(c <= Ma || c >= Mi)
    {
        cout << Ma << " " << c << " " << Mi;
    }
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2012, 23:21     Ошибка функции max () | min()
Посмотрите здесь:

C++ min, max функции.
C++ функции min/max/random
C++ Функции max min
Функции min и max C++
C++ Найти max и min, если min левее max, то среднее арифметическое между ними
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tegos-29
0 / 0 / 0
Регистрация: 02.08.2012
Сообщений: 6
03.08.2012, 14:18  [ТС]     Ошибка функции max () | min() #21
Я её решил иным способом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
     int a, b, c;
     cin >> a >> b >> c;
 
     int Max = a;
     if (Max < b)
     {
        Max = b;
     }
     if (Max < c)
     {
        Max = c;
     }
     cout << Max;
 
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
03.08.2012, 14:22
  #22

Не по теме:

Что < что != позволяет определить достигли мы конца вектора или нет, да и смысл далее разговаривать ТС удовлетворился а я в другом топике...

Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,570
Записей в блоге: 17
03.08.2012, 14:26     Ошибка функции max () | min() #23
Не позволят по тому как в классе итератора оператор < попросту может быть не определен.
-=ЮрА=-
Заблокирован
Автор FAQ
03.08.2012, 14:30     Ошибка функции max () | min() #24
А всем якобы "многознающим" прошу сюда
http://www.osp.ru/print_text.php?typ...8&isPdf#part_4
и почитайте какие итераторы существуют и что применимо для вектора умники ну на каждом шаге
Пример с этого места хотябы на вскид.
затем включить использование STL:

using namespace std;
В функции main мы описываем массив числовых констант и вектор из пяти элементов:

int main(void)
{
const int init[] = {1, 2, 3, 4, 5};
vector<int> v(5);
Создаем переменную типа "итератор произвольного доступа". Для этого берем итератор и на его основе создаем другой, более удобный:

typedef vector<int>::iterator vectItr;
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,570
Записей в блоге: 17
03.08.2012, 14:36     Ошибка функции max () | min() #25
применимо для вектора
А вам никто и не говорит что не применимо
Цитата Сообщение от nameless Посмотреть сообщение
< работает только итераторами произвольного доступа, тогда как != работает со всеми типами итераторов.

Например, std::list предоставляет лишь bidirectional итераторы..
Сомнительные статьи в сравнение не идут с Саттер др авторами, тем более что я не заметил что бы там где-то использовался оператор < или что-то об этом говорилось
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2012, 15:02     Ошибка функции max () | min()
Еще ссылки по теме:

C++ Ошибка в коде при поиске max и min
C++ Вычислить min max функции методом бисекции
C++ Почему не возвращаются из функции min и max?

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

Или воспользуйтесь поиском по форуму:
Jupiter
03.08.2012, 15:02     Ошибка функции max () | min()
  #26
 Комментарий модератора 
Вот и поговорили, решение есть - тема закрыта! Отношения выясняйте в ЛС.
Yandex
Объявления
03.08.2012, 15:02     Ошибка функции max () | min()
Закрытая тема Создать тему
Опции темы

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