Найти произведение двух наибольших и двух наименьших элементов массива - C (СИ)
Формулировка задачи:
Используя программу ранжирования, найти произведение двух наибольших и двух наименьших элементов массива:
Z = (-1, 0, -2, 1, 3, 4, 1, 2, 1, 0).
Распечатать массив до и после ранжирования.
Заранее спасибо!
Решение задачи: «Найти произведение двух наибольших и двух наименьших элементов массива»
textual
Листинг программы
- #include <stdio.h>
- int main()
- {
- int Z[] = {-1, 0, -2, 1, 3, 4, 1, 2, 1, 0};
- size_t size = sizeof(Z) / sizeof(*Z);
- unsigned min;
- unsigned i, j;
- int tmp;
- for (i = 0; i < size; ++i)
- {
- printf("%d ", Z[i]);
- }
- printf("\n");
- for (i = 0; i < size - 1; ++i)
- {
- min = i;
- for (j = i + 1; j < size; ++j)
- {
- if (Z[min] > Z[j])
- {
- min = j;
- }
- }
- tmp = Z[min];
- Z[min] = Z[i];
- Z[i] = tmp;
- }
- for (i = 0; i < size; ++i)
- {
- printf("%d ", Z[i]);
- }
- printf("\n");
- printf("min[0] * min[1] = %d\n", Z[0] * Z[1]);
- printf("max[0] * max[1] = %d\n", Z[size - 1] * Z[size - 2]);
- return 0;
- }
Объяснение кода листинга программы
В данном коде выполняются следующие действия:
- Создается массив Z, содержащий десять целых чисел.
- Вычисляется размер массива в байтах и делится на размер одного элемента, чтобы получить количество элементов в массиве.
- Инициализируется переменная min, которая будет использоваться для хранения индекса минимального элемента.
- Происходит два прохода по всем элементам массива:
- В первом проходе выводятся все элементы массива.
- Во втором проходе происходит сортировка массива по возрастанию.
- Вычисляются индексы двух наибольших и двух наименьших элементов массива.
- Выводится произведение двух наибольших и двух наименьших элементов массива.
- Программа возвращает 0, заканчивая свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д