1条回答 默认 最新
- 浪客 2022-03-24 00:03关注
大概这意思
#include <iostream> using namespace std; int *getDiagonal(int **matrix, int n) { int *Diag = new int[2 * n]; for (int i = 0; i < n; ++i) { Diag[i] = matrix[i][i]; } for (int i = 0; i < n; ++i) { Diag[n + i] = matrix[i][n - i - 1]; } return Diag; } int main() { int n; cin >> n; int **matrix = new int *[n]; for (int i = 0; i < n; ++i) { matrix[i] = new int[n]; for (int j = 0; j < n; ++j) { matrix[i][j] = i * n + j + 1; } } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cout << matrix[i][j] << "\t"; } cout << endl; } cout << endl; int *Diag = getDiagonal(matrix, n); for (int i = 0; i < 2 * n; ++i) { cout << Diag[i] << " "; } cout << endl; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用