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

Найти наибольшее и наименьшее из 3х чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 50, средняя оценка - 4.86
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
10.04.2011, 12:31     Найти наибольшее и наименьшее из 3х чисел #1
Программа должна находить большее и меньшее из трёх чисел.

Для наибольшего пробовал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int xdif;
            if ( y > z )
               xdif = (y - z);
            if ( y < z )
               xdif = (z - y);
     if ( x > xdif )
        cout << "The most is " << x << endl; 
        
        int ydif;
            if ( x > z )
               ydif = (x - z);
            if ( z > x )
               ydif = (z - x);  
     if ( y > ydif )
        cout << "The most is " << y << endl;
        
        int zdif;
            if ( x > y )
               zdif = (x - y);
            if ( y > x )
               zdif = (y - x);
     if ( z > zdif )
        cout << "The most is " << z << endl;
,

но при исполнении получается вот что:
http://img84.imageshack.us/img84/4893/unled1copy.jpg

Внимание, вопрос: что делать?

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 12:31     Найти наибольшее и наименьшее из 3х чисел
Посмотрите здесь:

C++ Как самым простым способом найти наименьшее и наибольшее из 3 чисел?
C++ Найти наибольшее и наименьшее значение
Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел(If) C++
C++ Узнать наибольшее, найти сумму, наименьшее, avg
C++ Vector - найти наименьшее и наибольшее расстояния между городами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
term1t
 Аватар для term1t
25 / 25 / 2
Регистрация: 04.03.2011
Сообщений: 61
10.04.2011, 12:44     Найти наибольшее и наименьшее из 3х чисел #2
мб так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
int main() {
    int num1, num2, num3;
    int iMin, iMax;
    cout << "Enter num 1" << endl;
    cin >> num1;
    iMin = num1;
    iMax = num2;
    cout << "Enter num 2" << endl;
    cin >> num2;
    if (num2 < iMin) iMin = num2;
    else if (num2 > iMin) iMax = num2;
    cout << "Enter num 3" << endl;
    cin >> num3;
    if (num3 < iMin) iMin = num3;
    else if (num3 > iMin) iMax = num3;
    cout << iMin << endl;
    cout << iMax << endl;
    system("PAUSE");   
    return 0;
}
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
10.04.2011, 13:09  [ТС]     Найти наибольшее и наименьшее из 3х чисел #3
Цитата Сообщение от term1t Посмотреть сообщение
мб так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
int main() {
    int num1, num2, num3;
    int iMin, iMax;
    cout << "Enter num 1" << endl;
    cin >> num1;
    iMin = num1;
    iMax = num2;
    cout << "Enter num 2" << endl;
    cin >> num2;
    if (num2 < iMin) iMin = num2;
    else if (num2 > iMin) iMax = num2;
    cout << "Enter num 3" << endl;
    cin >> num3;
    if (num3 < iMin) iMin = num3;
    else if (num3 > iMin) iMax = num3;
    cout << iMin << endl;
    cout << iMax << endl;
    system("PAUSE");   
    return 0;
}
Спасибо, конечно, но решение какое-то стрёмное
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
10.04.2011, 13:24     Найти наибольшее и наименьшее из 3х чисел #4
C++
1
2
3
4
5
6
7
    int a,b,c,min,max;
    max=(a>b)?a:b;
    if(c>max)
    max=c;
    min=(a<b)?a:b;
    if(c<max)
    min=c;
Мин и макс элементы
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
10.04.2011, 14:22  [ТС]     Найти наибольшее и наименьшее из 3х чисел #5
C++
1
2
3
4
5
6
7
    int a,b,c,min,max;
    max=(a>b)?a:b;
    if(c>max)
    max=c;
    min=(a<b)?a:b;
    if(c<max)
    min=c;
Объясните, пожалуйста, как оно работает, ибо понять не могу.


Если оно работает, ибо у меня ничего путного не вышло.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
10.04.2011, 14:49     Найти наибольшее и наименьшее из 3х чисел #6
vortexx1, оно работает.
сначала сравнивается 2 элемента, а потом с 3-им
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
10.04.2011, 21:52  [ТС]     Найти наибольшее и наименьшее из 3х чисел #7
В общем, сделал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    // находим большее
        if ( x > y && x > z )
           cout << "\nThe most is " << x << endl;
        
        if ( y > x && y > z )
           cout << "\nThe most is " << y << endl;
           
        if ( z > x && z > y )
           cout << "\nThe most is " << z << endl;
 
    // находим меньшее  
        if ( x < y && x < z )
           cout << "The less is " << x << endl;
        
        if ( y < x && y < z )
           cout << "The less is " << y << endl;
           
        if ( z < x && z < y )
           cout << "The less is " << z << endl; 
 
    // если числа равны       
        if ( x == y && y == z )
           cout << "\nThis numbers are equal! " << endl;
Всё исправно работает.
Всем спасибо.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
11.04.2011, 09:09     Найти наибольшее и наименьшее из 3х чисел #8
Использовал бы функцию сортировки и фсё.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.04.2011, 10:25     Найти наибольшее и наименьшее из 3х чисел #9
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
    
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX3(a, b, c) (MAX(MAX(a, b), MAX(b, c)))
#define MIN3(a, b, c) (MIN(MIN(a, b), MIN(b, c)))
    
int main(void){
    int a, b, c;
    
    while ( printf("a = ") && scanf("%d", &a) == 1 && printf("b = ") && scanf("%d", &b) == 1 && printf("c = ") && scanf("%d", &c) == 1 )
        printf("max: %d\tmin: %d\n", MAX3(a, b, c), MIN3(a, b, c));
    
    return 0;
}
SlipHeSleep
1 / 1 / 0
Регистрация: 05.05.2012
Сообщений: 9
25.02.2013, 13:55     Найти наибольшее и наименьшее из 3х чисел #10
Не стал создавать новую тему, вижу на форуме это частый вопрос, но всё же, что тут не так ?

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
33
34
35
36
37
38
39
40
#include <iostream>
using namespace std;
 
int main ()
{
    int a ;
    int b ;
    int c ;
    int summ ; 
    int proizv ; 
    int sred ; 
 
    cout << " Enter three number: " ;
    cin >> a >> b >> c;
 
    summ = a + b + c;
    proizv = a * b * c;
    sred = ( a + b + c) / 3;
 
    cout << " Sum of three numbers: " << summ << endl ; 
    cout << " Multiplication of three numbers: " << proizv << endl ;
    cout << " Arithmetic average: "  << sred << endl ;
 
     if ( a> b && a > c )
           cout << " The most is " << a << endl;
     if ( b > a && b > c )
           cout << " The most is " << b << endl;       
    if ( c > a && c > b )
           cout << " The most is " << c << endl;
 
    if ( a < b && a < c ) 
        cout << " The least number is: " << a << endl ; 
    if ( b < a && b < c )
        cout << " The least number is : " << b << endl ; 
    if ( c < a && c < b )
        cout << " The least number is : " << c << endl ; 
 
    system ( " pause " ) ;
    return 0 ;
}
Вот, сопсно, ошибка : C:\Documents and Settings\User\Мои документы\Visual Studio 2010\Projects\Дэйтл 2,19\Debug\Дэйтл 2,19.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.02.2013, 14:41     Найти наибольшее и наименьшее из 3х чисел #11
SlipHeSleep, в самое начало добавьте
C++
1
#include <cstdlib>
в ней функция system() объявлена.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
25.02.2013, 16:39     Найти наибольшее и наименьшее из 3х чисел #12
Программа должна находить большее и меньшее из трёх чисел.
Зачем изобретать велосипед?
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main() {
    int a = 10, b = 8, c = 12;
    int max = ::max(a, ::max(b, c));
    int min = ::min(a, ::min(b, c));
    cout << "\nmax= " << max << "\n";
    cout << "\nmin= " << min << "\n";
    return 0;
}
Добавлено через 44 минуты
а если все-таки очень хочется велосипеда, то
1.
C++
1
2
int max = a > b ? (a > c ? a : c) : (b > c ? b : c);
int min = a < b ? (a < c ? a : c) : (b < c ? b : c);
или
2
C++
1
2
3
int max(int a, int b){
return a>b? a:b;
}
и дальше как в самом моем первом примере
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 04:12     Найти наибольшее и наименьшее из 3х чисел
Еще ссылки по теме:

Вывести на экран наименьшее и наибольшее число из набора чисел C++
В наборе чисел найти наибольшее и наименьшее среди отрицательных C++
Найти наименьшее и наибольшее из пяти чисел C++

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

Или воспользуйтесь поиском по форуму:
SlipHeSleep
1 / 1 / 0
Регистрация: 05.05.2012
Сообщений: 9
28.02.2013, 04:12     Найти наибольшее и наименьшее из 3х чисел #13
Цитата Сообщение от easybudda Посмотреть сообщение
SlipHeSleep, в самое начало добавьте
C++
1
#include <cstdlib>
в ней функция system() объявлена.
Всё вышло проще, чем я думал - просто перезагрузил VS , странно конечно. А работает и с Вашим кодом и без него, так что, мне есть что учить =)
Yandex
Объявления
28.02.2013, 04:12     Найти наибольшее и наименьшее из 3х чисел
Ответ Создать тему
Опции темы

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