Найти среднее арифметическое отрицательных элементов каждого столбца матрицы (результат записать в массив) - C (СИ)
Формулировка задачи:
найти среднее арифметическое отрицательных элементов каждого столбца Х(3,4). Результат записать SA(4). на языке си. спасибо за ранее
Решение задачи: «Найти среднее арифметическое отрицательных элементов каждого столбца матрицы (результат записать в массив)»
textual
Листинг программы
/*Задача: в матрице А(3,5) найти произведение положительных элементов. */
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
#include <time.h>
int i,j,m,n;
float SA[4]={0};
int main(int argc, char** argv[])
{
setlocale(LC_ALL, "RUS");
m=3;
n=5;
float str_med;
int X[m][n];
for (i = 0; i < m; i++ ){
for (j=0; j<n; j++){
X[i][j]=-20 + rand() %80;//заполняем матрицу
}
}
printf( "Вот такой массив у нас получился:\n" );
for ( i = 0; i < m; i++ ) {
str_med=0;
for ( j = 0; j < n; j++ )
{
printf( "[%d][%d]=%d ", i, j, X[i][j] );
if(X[i][j]<0){
str_med+=X[i][j];//вычисляем сумму отрицательных элементов строки
}
if (j==n-1)
str_med/=j;
}
SA[i]=str_med;
printf( "\n");
printf( "\n Среднее арифметическое отрицательных элементов строки: %.2f \n", SA[i] );
printf( "\n");
}
}
Объяснение кода листинга программы
- Задача: найти среднее арифметическое отрицательных элементов каждого столбца матрицы.
- Используемые библиотеки:
- stdio.h для работы с выводом в консоль
- conio.h для работы с клавиатурой и мышью (в данном случае не используется)
- locale.h для установки текущей локали (в данном случае русский язык)
- stdlib.h для работы с генерацией случайных чисел
- time.h для инициализации генератора случайных чисел
- Объявлены переменные:
- i, j, m, n - целочисленные переменные для итераций по матрице
- SA[4] - массив для хранения среднего арифметического отрицательных элементов каждой строки
- В цикле заполняется матрица X случайными числами от -20 до 80
- Выводится заполненная матрица
- В цикле вычисляется среднее арифметическое отрицательных элементов каждой строки матрицы и записывается в массив SA
- Выводится среднее арифметическое каждой строки Примечание: в данном коде есть некорректность в вычислении среднего арифметического. В приведенном коде сумма отрицательных элементов делится на количество элементов в строке, что не является корректным вычислением среднего арифметического.