Составить программу которая вычисляет разницу между средним арифметическим матрицы и средне арифметическим значением диагональных элементов

asdsssssssssss124 asdsssssssssss124    3   30.04.2019 19:42    0

Ответы
привет948 привет948  09.06.2020 04:36

ответ:#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 соответственно

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика