Computer >> Máy Tính >  >> Lập trình >> C ++

Trung bình và Trung vị của một ma trận trong C ++

Trong bài toán này, chúng ta được cung cấp một mảng 2D có kích thước n * n. Nhiệm vụ của chúng tôi là tạo một chương trình sẽ in giá trị trung bình và giá trị trung bình của ma trận trong C ++.

Trung bình là giá trị trung bình của ngày được thiết lập. Trong ma trận, giá trị trung bình là giá trị trung bình của tất cả các phần tử của ma trận.

Trung bình = (tổng tất cả các phần tử của ma trận) / (số phần tử của ma trận)

Trung vị là phần tử ở giữa của tập dữ liệu đã sắp xếp. Đối với điều này, chúng ta sẽ phải sắp xếp các phần tử của ma trận.

Giá trị trung bình được tính bằng,

Nếu n lẻ, median =matrix [n / 2] [n / 2]

Nếu n chẵn thì median =((matrix [(n-2) / 2] [n-1]) + (matrix [n / 2] [0])) / 2

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi

#include <iostream>
using namespace std;
const int N = 4;
int calcMean(int Matrix[][N]) {
   int sum = 0;
   for (int i=0; i<N; i++)
      for (int j=0; j<N; j++)
         sum += Matrix[i][j];
      return (int)sum/(N*N);
   }
   int calcMedian(int Matrix[][N]) {
      if (N % 2 != 0)
         return Matrix[N/2][N/2];
      if (N%2 == 0)
         return (Matrix[(N-2)/2][N-1] + Matrix[N/2][0])/2;
}
int main() {
   int Matrix[N][N]= {
      {5, 10, 15, 20},
      {25, 30, 35, 40},
      {45, 50, 55, 60},
      {65, 70, 75, 80}};
   cout<<"Mean of the matrix: "<<calcMean(Matrix)<<endl;
   cout<<"Median of the matrix : "<<calcMedian(Matrix)<<endl;
   return 0;
}

Đầu ra

Mean of the matrix: 42
Median of the matrix : 42