Найти среднее арифметическое всех наибольших элементов строк и столбцов матрицы - C (СИ) (75779)
Формулировка задачи:
Дана матрица размера 7х6. Найти среднее арифметическое всех наибольших элементов строк и столбцов матрицы.
в языке Си.
Решение задачи: «Найти среднее арифметическое всех наибольших элементов строк и столбцов матрицы»
textual
Листинг программы
#include <stdio.h>
const int x_size = 6;
const int y_size = 7;
int main() {
int matrix[y_size][x_size];
int y, x;
for (y = 0; y < y_size; y++)
for (x = 0; x < x_size; x++)
scanf("%d", &matrix[y][x]);
int sum = 0;
for (y = 0; y < y_size; y++) {
int best = 0;
for (x = 0; x < x_size; x++)
if (matrix[y][x] > best)
best = matrix[y][x];
sum += best;
}
for (x = 0; x < x_size; x++) {
int best = 0;
for (y = 0; y < y_size; y++)
if (matrix[y][x] > best)
best = matrix[y][x];
sum += best;
}
printf("%.3lf", sum / (double) (x_size + y_size));
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление констант размера матрицы
- Создание двумерного массива для хранения элементов матрицы
- Ввод элементов матрицы с помощью функции scanf
- Инициализация переменной sum для хранения суммы наибольших элементов
- Первый цикл по строкам матрицы для поиска наибольшего элемента в каждой строке
- Переменная best инициализируется значением первого элемента текущей строки
- Второй цикл по столбцам матрицы для поиска наибольшего элемента в каждом столбце
- Если элемент в текущем столбце больше значения переменной best, то обновляется значение переменной best
- К переменной sum прибавляется значение переменной best
- Второй цикл по столбцам матрицы для поиска наибольшего элемента в каждом столбце
- Вывод среднего арифметического всех наибольших элементов матрицы
- Возвращение 0, что означает успешный конец работы программы