C ++填充2D数组


C++ fill 2D array

本问题已经有最佳答案,请猛点这里访问。

我是Java程序员。我正在尝试在win32项目中填充数组

1
2
3
4
5
6
7
8
9
10
11
12
int **Data::matrixInitialize()
{
    int** MX = new int*[n];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            MX[i][j] = 1;
        }
    }
    return MX;
}

但这段代码有一个例外。请帮我填充二维数组。


你想念配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
int **Data::matrixInitialize()
{
    int** MX = new int*[n];
    for (int i = 0; i < n; i++)
    {
        MX[i] = new int[n]; // Missing line
        for (int j = 0; j < n; j++)
        {
            MX[i][j] = 1;
        }
    }
    return MX;
}

但它会更好std::arraystd::vector或使用。


试试下面的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include

//...

int **Data::matrixInitialize()
{
    int** MX = new int*[n];

    for ( int i = 0; i < n; i++ )
    {
        MX[i] = new int[n];
        std::fill_n( MX[i], n, 1 );
    }

    return MX;
}