Решите задачу на языке Си
с клавиатуры введите массив действительных чисел (максимальный размер - 30 позиций). Определите значение и порядковые номера двух крупнейших элементов введенного массива. Поиск двух крупнейших элементов массива осуществляется в одном общем цикле.

28 Мая 2019 в 19:51
217 +1
0
Ответы
1
#include <stdio.h>
int main() {
double arr[30];
int n, i;
double max1, max2;
printf("Введите количество элементов массива (не более 30): ");
scanf("%d", &n);
if (n <= 0 || n > 30) {
printf("Ошибка: недопустимое количество элементов массива\n");
return 1;
}
printf("Введите элементы массива:\n");
for (i = 0; i < n; i++) {
scanf("%lf", &arr[i]);
}
max1 = arr[0];
max2 = arr[1];
if (max2 > max1) {
double temp = max1;
max1 = max2;
max2 = temp;
}
for (i = 2; i < n; i++) {
if (arr[i] > max1) {
max2 = max1;
max1 = arr[i];
} else if (arr[i] > max2) {
max2 = arr[i];
}
}
printf("Два наибольших элемента:\n");
printf("1. %lf\n", max1);
printf("2. %lf\n", max2);
return 0;
}

Пример работы программы:

Введите количество элементов массива (не более 30): 5
Введите элементы массива:
10.5
20.7
15.2
18.3
12.6
Два наибольших элемента:
1. 20.700000
2. 18.300000
21 Апр в 02:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир