Вывести среднее арифметическое каждой строчки двухмерного массива, в одномерный массив - C (СИ)
Формулировка задачи:
Ребята, подскажите: Как вывести, например среднее арифметическое каждой строчки двухмерного массива, в одномерный массив в си?
Пример:
Двухмерный массив:
------------------------------------------
1 1 1 1 Среднее.арифметическое: 1; |
2 2 2 2 Среднее.арифметическое: 2; |
------------------------------------------
Одномерный:
-----------------
arrange 1 = 1;|
arrange 2 = 2;|
-----------------
Решение задачи: «Вывести среднее арифметическое каждой строчки двухмерного массива, в одномерный массив»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define M 4
#define N 4
int main()
{
int i, j;
//пусть дан двумерный массив
int a[M][N] = {{1, 2, 3, 4}, {1, 1, 1, 3}, {3, 4, 3, 7}, {3, 3, 1, 1}};
//и одномерный
float b[M];
float av = 0; //для записи туда суммы и среднего
//Проходим массив во внешнем цикле по строкам, во внутреннем по столбцам,
//после каждого вычисления среднего записываем среднее в одномерный массив
printf("Matrix:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
av += a[i][j];
printf("%d ", a[i][j]);
}
b[i] = av / N;
av = 0; //обнуляем сумму
printf("\n");
}
//вывод одномерного
printf("\nArray:\n");
for (i = 0; i < M; i++) {
printf("arrange %d = %.3f\n", i+1, b[i]);
}
getchar();
return 0;
}