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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
russia91
0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 5
15.03.2010, 19:49     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются #1
Вот сижу над очередной задачкой. Найти 2 наиболее высоких числа из 10 введенных, при условии что цифры не повторяются.

Максимальное вытащил а вот как второе по величине все придумать не могу...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream.h>
#include<conio.h>
 
main()
{
 int counter, max=0, min=0, n; //max- масимальное число. min - второе по велечине число.
 
 for(counter=1;counter<=10;counter++)
 {
  cout << "vvedite 4islo: "; cin >> n;
  if(n>max)
  max=n;
 }
 cout << "max: " << max << endl;
 cout << "min: " << min << endl;
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2010, 19:49     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются
Посмотрите здесь:

C++ найти произведение двух наибольших из трех введенных с клавиатуры чисел
Оператор for,if ( найти два наибольших числа) C++
C++ Даны четыре разных числа. Найти среди них два наибольших
Можно ли вернуть функцией два значения при условии что она будет вещественного типа? C++
Программа которая выводит два наибольших числа из десяти введенных. Пожалуйста объясните суть работы программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Edgar_B
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 1
10.01.2016, 14:52     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются #21
Могу предложить такое решение. Поскольку задача эта из 4 глава Дейтела, то и использовал я тут только те знания, которые теоретически можно получить из глав 1-4.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
using namespace std;
int main ()
{
    int number1=0;//1 число
    int number2=0;//2 число
    int largest1=0;//1 максимальное
    int largest2=0;//2 максимальное
    int counter=1;//счетчик
 
    while (counter<=10)//цикл продолжается, пока не будет указано 10 чисел
    {
        cout<<"Enter number: ";//просим ввести число
        cin>>number1;//вводим число
        cout<<endl;//новая строка
 
        if(number1>largest1||number1>largest2)//проверяем, является ли это число больше хотя бы одного из максимальных, если условие выполняется - двигаемся дальше
        {
            if (number1>largest1)//проверяем, больше ли оно первого максимального
            {
                largest2=largest1;//если условие верно - второе макс становится первым
                largest1=number1;//а первое становится этим числом
            }
            else
            {
                largest2=number1;//если число больше только второго, первый макс не трогаем, а второй макс становится этим числом
            }
        }
        counter++;//счетчик +1
        cout<<"Enter number: ";//просим ввести число (для пользователя не будет разницы, number1 это или number2
        cin>>number2;//вводим число
 
        if(number2>largest1||number2>largest2)//дальше все аналогично
        {
            if (number2>largest1)
            {
                largest2=largest1;
                largest1=number2;
            }
            else
            {
                largest2=number2;
            }
 
        }
        counter++;
        cout<<endl;
 
    }
    cout<<endl;
    cout<<"Amount of numbers is "<<counter-1<<endl;
    cout<<endl;
    cout<<"First largest is "<<largest1<<endl;
    cout<<endl;
    cout<<"Second largest is "<<largest2<<endl;
    cout<<endl;
    cout<<"Have a good day!"<<endl;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GbaLog-
Не Эксперт C++
1523 / 627 / 176
Регистрация: 24.08.2014
Сообщений: 2,542
Записей в блоге: 1
Завершенные тесты: 2
10.01.2016, 15:14     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются #22
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main() {
    int max1, max2;
    cin >> max1 >> max2;
    for( int i = 1; i <= 8; i++ ) {
        int tmp;
        cin >> tmp;
        if( max1 < tmp ) max1 = tmp;
        if( max2 < tmp && max1 > tmp ) max2 = tmp;
    }
    cout << max1 << "\n" << max2 << endl;
    cin.get();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2016, 17:51     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются
Еще ссылки по теме:

Найти два наибольших числа из десяти C++
C++ Сравнить два введенных числа, не используя логические выражения
При использовании rand числа постоянно повторяются C++

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

Или воспользуйтесь поиском по форуму:
gru74ik
Модератор
 Аватар для gru74ik
3121 / 1347 / 167
Регистрация: 20.02.2013
Сообщений: 3,852
Записей в блоге: 17
10.01.2016, 17:51     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются #23
Почти шесть лет прошло с момента первого сообщения в теме...
Yandex
Объявления
10.01.2016, 17:51     Найти два наибольших числа из всех введенных, при условии что цифры не повторяются
Ответ Создать тему
Опции темы

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