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

Нахождение двух максимальных чисел из 10 - C++

Восстановить пароль Регистрация
 
HelloWorld56
5 / 5 / 1
Регистрация: 29.03.2012
Сообщений: 62
20.04.2012, 19:41     Нахождение двух максимальных чисел из 10 #1
Вводится последовательно 10 чисел, найти 2 максимальных из них

C++ (Qt)
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
#include <iostream>
using namespace std;
 
int main ()
{
    int number, largest_1, largest_2, counter = 1;
 
    cout<<"Vvedite 1oe chislo: ";
    cin>>number;
 
    largest_1 = number;
 
    while (counter <= 9)
    {
        cout<<"Vvedite ostalnie chisla: ";
        cin>>number;
 
        if (number > largest_1)
        {
            largest_1 = number;
        }
        largest_2 = largest_1;
        if (number > largest_1 && number < largest_2)
        {
            largest_2 = number;
        }
        
 
        counter++;
    }
    cout<<largest_1<<"\n"<<largest_2;
    return 0;
}
Выводит 2 раза 1 максимальное.
В чём ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
20.04.2012, 20:07     Нахождение двух максимальных чисел из 10 #2
Цитата Сообщение от HelloWorld56 Посмотреть сообщение
Вводится последовательно 10 чисел, найти 2 максимальных из них
Выводит 2 раза 1 максимальное.
В чём ошибка?
C++
1
2
3
4
5
6
7
   if (number > largest_1)
   {
      largest_2 = largest_1;
      largest_1 = number;
   }    
   else if (number > largest_2)
      largest_2 = number;
Elena)))
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 48
20.04.2012, 20:29     Нахождение двух максимальных чисел из 10 #3
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
#include <iostream>
using namespace std;
 
int main ()
{
    int number, largest_1, largest_2, counter = 1;
 
    cout<<"Vvedite 1oe chislo: ";
    cin>>number;
 
    largest_1 = largest_2 = number;
 
    while (counter <= 9)
    {
        cout<<"Vvedite ostalnie chisla: ";
        cin>>number;
 
        if (number > largest_1)
        {
            largest_2 = largest_1;
            largest_1 = number;
            
        }
        else if ( number < largest_1 && ( number > largest_2 || largest_2 == largest_1 ) )
                  
        {
            largest_2 = number;
        }
 
        counter++;
    }
    cout<<largest_1<<"\n"<<largest_2<<"\n";
    return 0;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
20.04.2012, 20:37     Нахождение двух максимальных чисел из 10 #4
Цитата Сообщение от Elena))) Посмотреть сообщение
else if ( number < largest_1
ну зачем ещё раз проверять это условие? ежу ясно, что раз else, значит меньше или равен
Elena)))
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 48
20.04.2012, 20:49     Нахождение двух максимальных чисел из 10 #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ну зачем ещё раз проверять это условие? ежу ясно, что раз else, значит меньше или равен
действительно, ну немножко ступила...
Yandex
Объявления
20.04.2012, 20:49     Нахождение двух максимальных чисел из 10
Ответ Создать тему
Опции темы

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