gpt4 book ai didi

c++ - 填充和输出 3D 数组的问题

转载 作者:行者123 更新时间:2023-11-28 05:49:11 25 4
gpt4 key购买 nike

我正在尝试创建一个 3 维数组,其中填充了从 0 到 9(含)的伪随机数。这是我第一次使用包含二维以上的数组,所以我有点迷茫。

起初输入到数组中的唯一数字是 1,但在更改一些代码后,除了最后一个数字之外的每个数字都是 1,最后一个数字是伪随机的。更糟糕的是,在我所处的新情况下,当我按下回车键时,我收到了一条奇怪的错误消息。 weird error message

除了这两个错误(错误填充数组和调试错误),我也不知道如何在世界上以 3 组 3 x 3 数字打印出来,虽然现在,这是一个较低的问题我的议程(尽管对此的提示将不胜感激)。

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main(){

srand(time(NULL));


const int arrayRow = 3, arrayColumns = 3, arrayDepth = 3;

int fun[arrayRow][arrayColumns][arrayDepth];

for (int r = 0; r < 4; r++){
for (int c = 0; c < 4; c++){
for (int d = 0; d < 4; d++){
int value = rand() % 10;
fun[r][c][d] = value;
cout << fun[arrayRow][arrayColumns][arrayDepth];
}
}
}
cout << "Complete." << endl;
system("pause");
}

最佳答案

您声明一个 3x3x3 数组。

然后您继续进行初始化,就好像它是一个 4x4x4 数组一样。以下是您的代码出错位置的简单说明:

int foo[3];

这声明了一个 3 元素数组。 foo[0]foo[2]

for (int bar=0; bar<4; ++bar)
{
foo[bar]=1;
}

这尝试通过 foo[3] 初始化 foo[0]。四个要素。三元素数组。

未定义的行为。

你的代码犯了同样的错误,但在所有三个维度上都有一个 3 维数组。

关于c++ - 填充和输出 3D 数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com