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

28 Мая 2019 в 19:51
238 +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 Апр 2024 в 02:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир