c++求n*n方阵对角线元素,给点思路,诸君

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

大概这意思


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