11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 66

Найти максимальный элемент (из 10 чисел) и следующий за ним максимальный элемент

03.10.2014, 21:22. Показов 2127. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Задача такая: используя только while и if-else найти максимальный эл-нт (из 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
 int main ()    
{
    setlocale (0,"");
    
    int max;
    int max2;
    int chislo;
    int count=1;
 
    cout << "Введите число: ";
    cin >> chislo;
 
    max=chislo;
    max2=max;
 
    while ( count++<=9 )
    {
        cout << "Введите число: ";
        cin >> chislo;
 
        if ( chislo>max )
        {
            max2=max;
            max=chislo;
        }
 
        if ( chislo<max && max==max2 )
            max2=chislo;
 
        if ( chislo<max && max2<chislo )
            max2=chislo;
    }
    cout << "Максимум1 равен: " << max << endl;
    cout << "Максимум2 равен: " << max2 << endl;
    system ("pause");
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2014, 21:22
Ответы с готовыми решениями:

Найти максимальный элемент в каждой строке массива и номер столбца, в котором этот максимальный элемент находится
Найти максимальный элемент в каждой строке массива и номер столбца, в котором этот максимальный элемент находится. #include...

Для той из матриц, в которой больше максимальный элемент, найти максимальный элемент в каждой строке
Даны две матрицы разного размера. Для той из матриц, в которой больше максимальный элемент, найти максимальный элемент в каждой строке.

В квадратной матрице 6х6 найти максимальный элемент, который лежит на побочной диагонали и максимальный элемент в каждой строке матрицы
В квадратной матрице 6х6 найти максимальный элемент, который лежит на побочной диагонали и максимальный элемент в каждой строке матрицы

2
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
03.10.2014, 22:56
Blagodetel, если есть цикл, то лучше из его итераций удалить все возможное. Хоть и для 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
#include <iostream>
using namespace std;
 
int main() {
 
    int max;
    int max2;
    const int count = 9;
 
    // сразу до цикла вводим первые два числа и думаем, что они оба максимумы и следующий за максимумом
    cout << "Введите число: ";
    cin >> max;
    cout << "Введите число: ";
    cin >> max2;
 
    int num = 2;
    while ( num++ < count ) {
        int current;
        cout << "Введите число: ";
        cin >> current;
 
        // получили меньше проверок внутри цикла
        if ( current > max ){
            max2 = max;
            max = current;
        }
        // else if предпочтительней использовать, если позволяет логика программы
        else if ( current > max2 )
            max2 = current;
    }
 
    cout << "Максимум1 равен: " << max << endl;
    cout << "Максимум2 равен: " << max2 << endl;
 
    return 0;
}
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.10.2014, 01:58
Цитата Сообщение от Blagodetel Посмотреть сообщение
Задача такая: используя только while и if-else найти максимальный эл-нт (из 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
#include <iostream>
#include <limits>
using namespace std;
 
int main() {
 const int N=10;
    int max_num(INT_MIN);
    int max_next(INT_MIN);
    int num;    
    int count_ = -1;
    int max_found = 0;
 
    while( ++count_ < N ){
cout<<"Enter the number: ", cin>>num;
if( max_found ){
    max_next = num;
    max_found = 0;
}else
    if( num > max_next ) max_next = num;
 
        if( num > max_num ){
            max_num = num;
            max_found = 1;
        }
    }       
    cout << "First maximum is equal: " << max_num << endl;
   cout << "Second maximum is equal: " << max_next << endl;
 system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2014, 01:58
Помогаю со студенческими работами здесь

В целочисленном массиве M(n) найти максимальный элемент среди четных элементов массива и максимальный элемент
В целочисленном массиве M(n) найти максимальный элемент среди четных элементов массива и максимальный элемент среди нечетных элементов...

Найти в матрице максимальный элемент и следующий по величине
В общем задача простая: найти в дв. массиве максимальный эл-т и следующий по величине. Вроде бы понял, как делать, но у меня где-то ошибка...

Массив: Найти максимальный элемент каждой строки и максимальный элемент каждого столбца.
Задан массив случайных действительных чисел Array(N,N). Найти максимальный элемент каждой строки и максимальный элемент каждого столбца.

Найти максимальный элемент массива x(15), поменять местами этот максимальный элемент с индексом 4
поможете с курсовым ?

В массиве найти максимальный элемент в первой половине и максимальный элемент во второй
Доброго времени суток! НЕ могу написать код программы к задаче все не удачные попытки написания проги к сожалению остались на другом...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru