查找一个N阶对称矩阵,其中包含从0到N-1的整数,并且主对角线在C ++中应仅包含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