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

Tìm một ma trận đối xứng bậc N chứa các số nguyên từ 0 đến N-1 và đường chéo chính chỉ được chứa số 0 trong C ++

Ở đây chúng ta sẽ xem cách tạo một ma trận đối xứng bậc N và các phần tử của mỗi hàng sẽ chứa các số từ 0 đến N - 1. Các phần tử đường chéo sẽ luôn là 0.

Nhiệm vụ này rất dễ dàng, chúng ta sẽ tạo một ma trận N x N, sau đó cho mỗi hàng i và cho mỗi cột j, nếu i và j giống nhau thì đánh dấu nó là 0, nếu không thì tăng một bộ đếm từ 1 đến N - 1, đặt các giá trị cho từng hàng riêng lẻ.

Ví dụ

#include <iostream>
using namespace std;
void makeSymmetricMatrix(int n) {
   int matrix[n][n];
   for(int i = 0; i<n; i++){
      int count = 1;
      for(int j = 0; j <n; j++){
         if(i == j){
            matrix[i][j] = 0;
         }else{
            matrix[i][j] = count++;
         }
      }
   }
   for(int i = 0; i<n; i++){
      for(int j = 0; j <n; j++){
         cout << matrix[i][j] << " ";
      }
      cout << endl;
   }
}
int main() {
   int n = 5;
   makeSymmetricMatrix(n);
}

Đầu ra

0 1 2 3 4
1 0 2 3 4
1 2 0 3 4
1 2 3 0 4
1 2 3 4 0