Получить среднее арифметическое положительных элементов матрицы - C (СИ)
Формулировка задачи:
Как реализовать задачу на языке си?
В двумерном массиве целочисленном получить среднее арифметическое положительных элементов.
Решение задачи: «Получить среднее арифметическое положительных элементов матрицы»
textual
Листинг программы
#include <stdio.h>
#define N 4
int main(void){
int i, j, cnt;
double sum;
int m[N][N] = {
{ 1, -5, -1, 2 },
{ 2, -9, -5, 3 },
{ 1, -1, -1, -5 },
{ 2, 2, 2, 2 }
};
sum = 0.0;
cnt = 0;
for(i = 0; i < N; ++i){
for(j = 0; j < N; ++j){
if(m[i][j] > 0){
sum += m[i][j];
++cnt;
}
}
}
if(cnt > 0)
printf("avg: %lf\n", sum / cnt);
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных - iostream.
- Определение размера матрицы N = 4.
- Объявление переменных:
- i, j - индексы для обхода матрицы;
- cnt - счетчик положительных элементов;
- sum - переменная для хранения суммы положительных элементов.
- Инициализация матрицы m[N][N] = {...}.
- Инициализация переменной sum = 0.0 и cnt = 0.
- Обход матрицы с помощью двух вложенных циклов:
- внешний цикл для обхода строк;
- внутренний цикл для обхода столбцов.
- Проверка условия if(m[i][j] > 0) для каждого элемента матрицы.
- Если условие выполняется, то к переменной sum прибавляется значение элемента и к переменной cnt прибавляется единица.
- После завершения циклов, выводится сообщение с результатом - средним арифметическим положительных элементов матрицы (sum / cnt).
- Конец функции main() возвращает 0, что означает успешное выполнение программы.