Найти среднее арифметическое и среднее геометрическое элементов двумерного массива - C (СИ)
Формулировка задачи:
Вот наработки. Не соображаю, помогите.
int A[100][100];
int n, m, g;
int a = 0;
printf("Введите количество строк в массиве\n");
scanf_s("%d", &n);
printf("Введите количество столбцов в массиве\n");
scanf_s("%d", &m);
for (k = 0; k < n; k++)
{
for (f = 0; f < m; f++)
{
A[k][f] = rand() % 10;
printf("A[%d][%d]=%d ", k, f, A[k][f]);
}
printf("\n");
}
for (k = 0; k < n; k++)
{
for (f = 0; f < m; f++)
{
a += A[k][f];
}
return (int) a / (k*f);
}
printf("Среднее арифметическое: \n", a);
printf("Среднее геометрическое: \n");
system("pause");
Решение задачи: «Найти среднее арифметическое и среднее геометрическое элементов двумерного массива»
textual
Листинг программы
int A[100][100];
int n, m;
double a = 0;
double g = 1;
printf("Введите количество строк в массиве\n");
scanf_s("%d", &n);
printf("Введите количество столбцов в массиве\n");
scanf_s("%d", &m);
for (int k = 0; k < n; k++)
{
for (int f = 0; f < m; f++)
{
A[k][f] = rand() % 10;
printf("A[%d][%d]=%d ", k, f, A[k][f]);
}
printf("\n");
}
for (int k = 0; k < n; k++)
{
for (int f = 0; f < m; f++)
{
a += A[k][f];
g*=pow(A[k][f], 1.0/(n*m));
}
}
printf("Среднее арифметическое: %lf\n", (double)a/(n*m));
printf("Среднее геометрическое: %lf\n", g);
system("pause");
Объяснение кода листинга программы
- Объявлен двумерный массив A[100][100] для хранения 100 строк и 100 столбцов чисел.
- Объявлены переменные n и m для хранения количества строк и столбцов массива соответственно.
- Переменным a и g присвоены начальные значения: a = 0, g = 1.
- Пользователю предлагается ввести количество строк в массиве.
- Пользователю предлагается ввести количество столбцов в массиве.
- С помощью двух вложенных циклов заполняется массив A случайными числами от 0 до 9.
- С помощью двух вложенных циклов суммируются все элементы массива A для получения значения переменной a и вычисляется значение переменной g как произведение всех элементов массива A в степени 1/((nm)(n*m)).
- Вычисляется среднее арифметическое как (double)a/(n*m) и среднее геометрическое как g.
- Выводится среднее арифметическое.
- Выводится среднее геометрическое.
- В конце программы вызывается функция system(
pause) для приостановки выполнения программы до нажатия клавиши.