АС
Александр Скачков

Как найти три максимальных числа из массива? C++

ДС
Дмитрий Сидоров

Отсортируйте по убыванию и возьмите первые три.

Абдурашид Чиллаев
Абдурашид Чиллаев

перебором в цикле

Lo
Lolitta

Частичной сортировкой (достаточно трех проходов по массиву).

ME
Mister Elephant

либо циклом, но тогда записывать макс. значения в 3 переменные, либо сортировкой и 3 первых, что намного проще

Юлия Тарасова
Юлия Тарасова

#include

int main(){

int ar[] = {2,34,32,12,3,2132,43,2,3,};
int max1, max2, max3;

for(int i(0); i < sizeof(ar)/4; i++){
if (i == 0) max1 = max2 = max3 = ar[1];
if (ar[i] > max1) max1 = ar[i];
if (ar[i] > max2 && ar[i] != max1) max2 = ar[i];
if (ar[i] > max3 && ar[i] != max1 && ar[i] != max2) max3 = ar[i];
printf("%i ",ar[i]);
}
printf("\nmax1 = %i, max2 = %i, max3 = %i\n", max1, max2, max3);

system("pause > nul");
}

Похожие вопросы
СИ помогите найти максимальный и минимальный элемент массива
C++. Как удалить из массива элементы, большие определенного числа?
C# Как узнать позицию наименьшего числа в массиве?
Помогите найти ошибку в коде c# с массивом
Символьные массивы на C.
Массивы. Найти максимальный элемент массива и номера этих элементов,равных максимальному.
Нужно найти максимальный по модулю элемент массива на языке c, желательно простой исходник
C++. Как вывести числа из массива char в файл.?
Определите произведение максимального и минимального элементов в массиве C(50)
C++.Рекурсивная процедура поиска максимального элемента массива.