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

Tìm dấu vết của ma trận được hình thành bằng cách thêm thứ tự Hàng-chính và Cột-chính của cùng một ma trận trong Chương trình C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm dấu vết của ma trận được tạo thành bởi các ma trận chính hàng và cột.

Hãy xem cách tạo ma trận chính hàng và cột khi thứ tự của ma trận được cung cấp.

Đặt hàng - 3 x 3

Ma trận chính hàng -

1 2 3
4 5 6
7 8 9

Ma trận chính của cột -

1 4 7
2 5 8
3 6 9

Chúng ta có ma trận chính hàng và cột. Bây giờ, chúng ta phải thêm cả hai ma trận. Và dấu vết của ma trận kết quả là kết quả mà chúng tôi đang tìm kiếm.

Hãy xem viết mã để giải quyết vấn đề. Chúng tôi phải hoàn thành 4 bước sau để hoàn thành giải pháp cho sự cố.

  • Tạo ma trận hàng-chính.

  • Tạo ma trận cột-chính.

  • Thêm cả hai ma trận và lưu trữ ma trận kết quả.

  • Tìm dấu vết của ma trận kết quả và in kết quả.

Ví dụ

Hãy xem mã.

#include <iostream>
#include <bits/stdc++.h>
#include <regex>
using namespace std;
int traceOfRowAndColumnMajorMatrices(int m, int n) {
   int row_major[m][n], column_major[m][n], addition_result[m][n], count = 1;
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         row_major[i][j] = count;
         count += 1;
      }
   }
   count = 1;
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         column_major[j][i] = count;
         count += 1;
      }
   }
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         addition_result[j][i] = row_major[i][j] + column_major[i][j];
      }
   }
   int trace = 0;
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         if (i == j) {
            trace += addition_result[i][j];
         }
      }
   }
   return trace;
}
int main() {
   int m = 3, n = 3;
   cout << traceOfRowAndColumnMajorMatrices(m, n) << endl;
   return 0;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

30

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.