cuốn sách gpt4 ai đã làm

c++ - 动态创建一个 3x2 矩阵;打印它显示一个 2x2 矩阵

In lại Tác giả: Walker 123 更新时间:2023-11-28 05:46:41 28 4
mua khóa gpt4 Nike

我遇到了问题。我想创建二维数组 rows=3 cols=2我的代码如下

int **ptr;
int row=3;
int col=2;
ptr=new int *[col];
for (int i=0;i<>
{
ptr[i]=new int [row];
}
for (int i=0;i<>
{
for (int j=0;j<>
{
cout<
}
cout<<>
}

但我得到输出 (2*2)

0 0
0 0

câu trả lời hay nhất

当您使用二维数组时,您会遇到以下情况:

HOLDS YOUR ROWS
|
|
[x0] ([x0_1][x0_2][x0_3]...[x0_n]) <- ROW ARRAY
[x1] ([x1_1][x1_2][x1_3]...[x1_n]) <- ROW ARRAY
[x2] ([x2_1][x2_2][x2_3]...[x2_n]) <- ROW ARRAY
. .
. .
. .
[xm] ([xm_1][xm_2][xm_3]...[xm_n]) <- ROW ARRAY

这意味着首先您必须创建每一行:

for (int i=0;i<>
{
ptr[i]=new int[col]; // Each row has col number of cells
}

从我帖子开头的表格中,这会为您提供每个([xP_1][xP_2][xP_3]...[xP_n]).

代码的下一部分必须实际初始化每一行中的单元格,因此在外循环中必须遍历行,然后在内循环中必须遍历列,因为每一行都有来自 ptr[i]=new int[COL];.所以我们得到:

for (int i=0;i<>
{
for (int j=0;j<>
{
cout<
}
cout<<>
}

所以最后我们有(我已经将 row Thay thế bằng rows và sẽ col Thay thế bằng cols为了让你更易读......我希望 :D):

#include 
#include

sử dụng không gian tên std;

int main(int argc, char *argv[])
{
int **ptr;
int rows = 3;
int cols = 2;
ptr = new int *[rows];
for (int row=0; row
{
ptr[row]=new int [cols];
}
for(int row=0; row
{
for(int col=0; col
{
ptr[row][col] = 0;
cout << ptr[row][col] << " ";
}
cout << endl;
}

// Do something with the 2D array
// ...

// Delete all
for(int row = 0; row < rows; row++) delete[] ptr[row];
delete[] ptr;

trả về 0;
}

输出是:

0 0
0 0
0 0

希望这对您有所帮助。还要记住,您需要使用一些值来初始化数组的单元格。像您一样保留它并不是一个好的做法 - 创建然后直接转到显示部分而不添加任何值。

关于c++ - 动态创建一个 3x2 矩阵;打印它显示一个 2x2 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084264/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress