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

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

Войти
Регистрация
Восстановить пароль
 
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
#1

Два максимальных числа - C++

01.12.2013, 22:02. Просмотров 357. Ответов 10
Метки нет (Все метки)

Привет все Есть код, на нахождение максимального числа. Как его переделать что бы выводилось два максимальных числа ( каждое число должно вводиться один раз ). Заранее большое спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    int a = 0;       // введенное число 
    int max = 0;     // первой макс.число
    int counter = 0; // счетчик
 
    while( counter < 10 )
    {
        cout << "Enter number: ";
            
        cin >> a;
            
        if( a > max ) max = a;
                
        counter++;
    }
 
    cout << "Max number = " << max << endl;
    
    system( "pause" );
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2013, 22:02     Два максимальных числа
Посмотрите здесь:

Найти два максимальных числа - C++
Задача впринципе легкая, но меня что-то зациклило по полной. Найти два максимальных числа из 10 введенных. БЕЗ массива. Одинаковое число...

Найти два максимальных числа из потока - C++
Здравствуйте, нужна ваша помощь. Нужно найти два максимальных числа из одного файла и записать их в другой файл. Сделала так, а опыта и...

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

Найти два максимальных элемента из интервала - C++
Даны числа a, b (0 &lt; a &lt; b) и набор из десяти элементов. Найти минимальный1|максимальный2 из элементов, содержащихся в интервале (a, b)....

Определить два максимальных элемента массива - C++
Дан массив из n элементов, необходимо определить максимальный элемент массива и элемент, являющийся максимальным без учёта этого элемента. ...

найти два максимальных значения в массиве - C++
Собственно, не получается реализовать нахождение второго максимального значения: // Найдти 2 максимальных значения без сортировки массива...

Два максимальных значения из 10 целых чисел - C++
Найдите два наибольших значения из 10 чисел. .

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Liden
19 / 19 / 2
Регистрация: 19.11.2013
Сообщений: 83
01.12.2013, 22:08     Два максимальных числа #2
простоВадим, я бы в массив записал все числа, а потом их отсортировал по убыванию и вывел два первых числа) вот и весь алгоритм)
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
01.12.2013, 22:11  [ТС]     Два максимальных числа #3
Спасибо Но в книге надо это сделать без массива ( вообщем книга старая и там так тупо написано )
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
01.12.2013, 22:19     Два максимальных числа #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
#include <iostream>
using namespace std;
int main()
{
    int n,t,max1,max2;
    cin>>n;
    max1=-1000;
    max2=-1000;
    for (int i=1;i<=n;i++)
    {
        cin>>t;
        if (t>max2) 
        {
            if (t>max1)
            {
                max2=max1;
                max1=t;
            }
            else
            {
                max2=t;
            }
        }
    }
    cout<<max1<<" "<<max2<<endl;
}
Ну раз без массива, то вот так как-то
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
01.12.2013, 22:26  [ТС]     Два максимальных числа #5
Извините но это не работает

Добавлено через 1 минуту
Мне надо ввести 10 чисел и вывести 2 наибольших
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
01.12.2013, 22:38     Два максимальных числа #6
У меня из n чисел выводит 2 наибольших. Ты хоть вдумывайся

Добавлено через 2 минуты
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
#include <iostream>
using namespace std;
int main()
{
    int t,max1,max2;
    max1=-1000;
    max2=-1000;
    for (int i=1;i<=10;i++)
    {
        cin>>t;
        if (t>max2) 
        {
            if (t>max1)
            {
                max2=max1;
                max1=t;
            }
            else
            {
                max2=t;
            }
        }
    }
    cout<<max1<<" "<<max2<<endl;
}
Вот тебе из 10 чисел. Все работает
Liden
19 / 19 / 2
Регистрация: 19.11.2013
Сообщений: 83
01.12.2013, 22:46     Два максимальных числа #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
24
25
26
27
28
29
30
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    int max1, max2, a;
    cout<<"Введите первое число: ";
    cin>>a;
    max1=max2=a;
    for(int i=1;i<10;i++){
 
        cout<<"Введите следующее число: ";
        cin>>a;
        if (a>max1){
            max2=max1;
            max1=a;
        }
        else if ((a<max1)&&(a>max2||max2==max1))
                    max2=a;
    }
 
    cout << "max1: " << max1 << endl
         << "max2: " << max2 << endl;
 
    system("PAUSE");
    return 0;
}
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
01.12.2013, 22:59     Два максимальных числа #8
С моим решением все хорошо, просто я решил для случая с n чисел, а автор затребовал на 10.
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
02.12.2013, 11:01  [ТС]     Два максимальных числа #9
Спасибо всем заработало. Я не понял только зачем max1 и max2 = -1000 ???

Добавлено через 2 часа 8 минут
Разобрался Вложенные циклы это круто а max1 и max2 могут иметь любое одинаковое значение обязательно с минусом
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
02.12.2013, 12:28     Два максимальных числа #10
max1 и max2 должны иметь заведомо меньшее значение, чем числа, которые вы можете ввести
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2013, 12:30     Два максимальных числа
Еще ссылки по теме:

Сравните два числа A и B. Задан два целых неотрицательных числа A и B - C++
Сравните два числа A и B. Задан два целых неотрицательных числа A и B (A, B &lt;= 1010000) каждое в своей строке. Найти разность двух...

В одномерном массиве найти два максимальных элемента и удалить все элементы между ними - C++
Дана задача : В одномерном массиве найти два максимальных элемента и удалить все элементы между ними. Массив задается случайным образом. ...

Нужно ввести два числа, а вывести ряд от первого числа до второго - C++
Например, ввели 2 и 5, а вывели : 2345

Ввести два числа, а вывести ряд от первого числа до второго - C++
Например, ввести 5 и 2, а на выводе нужно чтобы было : 5 4 3 2 .

Как сделать из двухзначного числа два числа через пробел? - C++
Как сделать из двухзначного числа два числа через пробел? Например: 44 = 4 4 Кто знает?


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

Или воспользуйтесь поиском по форуму:
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
02.12.2013, 12:30  [ТС]     Два максимальных числа #11
Да я понял спасибо
Yandex
Объявления
02.12.2013, 12:30     Два максимальных числа
Ответ Создать тему
Опции темы

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