查找一个N阶对称矩阵,其中包含从0到N-1的整数,并且主对角线在C ++中应仅包含0
在这里,我们将看到如何生成一个N阶对称矩阵,并且每一行的元素将包含从0到N–1的数字。对角元素将始终为0。
这个任务很容易,我们将形成一个NxN的矩阵,然后对于第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