大概这意思
#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;
}