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

Tìm vectơ trung bình của Ma trận trong C ++

Giả sử ta có ma trận bậc M x N, ta phải tìm véc tơ trung bình của ma trận đã cho. Vì vậy, nếu ma trận giống như -

1 2 3
4 5 6
7 8 9

Khi đó vectơ trung bình là [4, 5, 6] Vì giá trị trung bình của mỗi cột là (1 + 4 + 7) / 3 =4, (2 + 5 + 8) / 3 =5 và (3 + 6 + 9 ) / 3 =6

Từ ví dụ này, chúng ta có thể dễ dàng xác định rằng nếu chúng ta tính giá trị trung bình của mỗi cột sẽ là vectơ trung bình.

Ví dụ

#include<iostream>
#define M 3
#define N 3
using namespace std;
void calculateMeanVector(int mat[M][N]) {
   cout << "[ ";
   for (int i = 0; i < M; i++) {
      double average = 0.00;
      int sum = 0;
      for (int j = 0; j < N; j++)
      sum += mat[j][i];
      average = sum / M;
      cout << average << " ";
   }
   cout << "]";
}
int main() {
   int mat[M][N] = {{ 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 }
   };
   cout << "Mean vector is: ";
   calculateMeanVector(mat);
}

Đầu ra

Mean vector is: [ 4 5 6 ]