在 C++ 中找到一個對稱矩陣,它包含 0 至 N-1 的整數,並且主對角線只能包含 0


這裡我們將看到如何生成一個 N 階對稱矩陣,並且每一行的元素都將包含數字 0 到 N – 1。對角線上的元素將始終為 0。

這項任務很簡單,我們將形成一個 N x N 矩陣,然後對於每一行 i 和每一列 j,如果 i 和 j 相同,則將其標記為 0,否則,從 1 到 N – 1 增加一個計數器,為每一行放置值。

示例

#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);
}

輸出

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

更新於: 24-Oct-2019

107 瀏覽次數

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.