Создать одномерный массив из средних арифметических значений каждой строки матрицы - C (СИ)
Формулировка задачи:
Всем привет, недавно начал изучать программирование и не могу понять как решить данную задачу:"Ввести двумерный массив вещественных чисел размерностью m´n. Создать одномерный массив из средних арифметических значений каждой строки матрицы." Может кто поможет разобраться? Вот мой код:
#include<stdio.h> #include<stdlib.h> #include<math.h> main() { const int n=3,m=3; int A [m][n]; int i,j,s; float B[i]; for(i=0;i<n;i++) {for(j=0;j<m;j++) printf("A[%d][%d]",i,j); scanf("%d",&A[i][j]);} for (i=0;i<n;i++) {for(j=0;j<m;j++) s=0; s=s+A[i][j]; i++; } B[i]=s/m; printf("B[%d]=%d\t",B[i]); }
Решение задачи: «Создать одномерный массив из средних арифметических значений каждой строки матрицы»
textual
Листинг программы
#include <stdio.h> int main() { const int n = 3, m = 3; float A[m][n]; float s; float B[m]; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) { printf("A[%d][%d] - ",i,j); scanf("%f",&A[i][j]); } for (int i = 0; i < m; i++) { s = 0; for(int j = 0; j < n; j++) { if(A[i][j] < 0) {s = 0; break;} // Добавляем условие s = s + A[i][j]; } B[i] = s / n; } for(int i = 0; i < m; i++) printf("B[%d] = %f\n",i,B[i]); }
Объяснение кода листинга программы
- Ввод размера матрицы и создание самой матрицы.
- Ввод значений матрицы.
- Инициализация переменных для хранения суммы и среднего значения.
- Обход матрицы для вычисления суммы элементов каждой строки.
- Условие для игнорирования отрицательных чисел при расчете среднего значения.
- Вычисление среднего значения и сохранение в отдельном массиве.
- Вывод среднего значения каждой строки матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д