Найти среднее значение двумерного массива. Найти среднее значение каждой строки - C (СИ)
Формулировка задачи:
#include <cs50.h>
#include <stdio.h>
int main(void){
FILE*f;
f = fopen("file", "w");
int x=2;
int y=6;
int arr[x][y];
for(int row=0;row<x;row++){
for(int col=0;col<y;col++){
arr[row][col] = GetInt();
}
}
int row=0,col=0;
while(row<x){
while(col<y){
printf("[%2i]", arr[row][col]);
col++;
}
printf("\n");
col=0;
row++;
}
float sum1=0;
sum1 = arr[0][0]+arr[0][1]+arr[0][2]+arr[0][3]+arr[0][4]+arr[0][5];
printf("Сумма первой строки: [%f]\n", sum1);
float sum2=0;
sum2 = arr[1][0]+arr[1][1]+arr[1][2]+arr[1][3]+arr[1][4]+arr[1][5];
printf("Сумма второй строки: [%f]\n", sum2);
printf("\n");
printf("Среднее значение первой строки: %f\n", sum1/6);
printf("Среднее значение второй строки: %f\n", sum2/6);
fprintf(f,"Среднее значение первой строки: %f\n", sum1/6);
fprintf(f,"Среднее значение второй строки: %f\n", sum2/6);
printf("\n");
fclose(f);
}Решение задачи: «Найти среднее значение двумерного массива. Найти среднее значение каждой строки»
textual
Листинг программы
float sum=0.0;
for(i = 0;i<x;i++)
{
sum = 0.0;
for(j=0;j<y;j++)
{
sum+=arr[i][j];
}
printf("%d : %f\n",i, sum/y);// i-ая строка
}
Объяснение кода листинга программы
- Объявляется переменная типа float с именем sum и значением 0.0.
- Задаются начальные значения для циклов i и j равные 0.
- Начинается внутренний цикл для каждого элемента массива arr[i][j].
- Каждый элемент массива прибавляется к переменной sum.
- После завершения внутреннего цикла, выводится значение переменной sum, разделенное на y.
- Увеличиваются значения i и j на единицу.
- Если i меньше x, то повторяются шаги с 3 по 6.
- Если i равно x, то выводится значение переменной sum, разделенное на y.