cout << "Искомая разница:" << AvarageMatrix(array, n, m) - AvarageDiagonal(array, n, m);
for (int i = 0; i < n; i++)
{
delete[] array[i];
}
delete[]array;
system("pause");
return 0;
}
Объяснение:
Массивы динамические, удаляются в программе. Алгоритмы вычисления среднего арифметического диагональных элементов и элементов матрицы реализованы в функциях AverageDiagonal и AverageMatrix соответственно
ответ:#include "pch.h"
#include <iostream>
using namespace std;
//Среднее арифметическое элементов матрицы
float AvarageMatrix(int** array, int n, int m)
{
float k = n*m, sum = 0.0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
sum += array[i][j];
}
}
return sum / k;
}
//Среднее арифметическое диагональных элементов
float AvarageDiagonal(int** array, int n, int m)
{
float k = n * m, sum = 0.0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if ((i == j) or (i + j == n-1))
{
sum += array[i][j];
}
}
}
return sum / k;
}
int main()
{
setlocale(0, "");
int n, m, k;
cout << "Введите размеры матрицы\n";
cout << "Количество строк:";
cin >> n;
cout << "Количество столбцов:";
cin >> m;
int** array = new int* [n];
for (int i = 0; i < n; i++)
{
array[i] = new int[m];
}
cout << "Введите элементы массива:\n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cin >> k;
array[i][j] = k;
}
}
cout << "Искомая разница:" << AvarageMatrix(array, n, m) - AvarageDiagonal(array, n, m);
for (int i = 0; i < n; i++)
{
delete[] array[i];
}
delete[]array;
system("pause");
return 0;
}
Объяснение:
Массивы динамические, удаляются в программе. Алгоритмы вычисления среднего арифметического диагональных элементов и элементов матрицы реализованы в функциях AverageDiagonal и AverageMatrix соответственно