自学C ++并不知道如何做到这一点

时间:2016-11-11 19:54:48

标签: c++ arrays multidimensional-array grid

网格通常可以在编程中表示为多维数组。您将编写一个创建20乘20网格的程序。网格的每个单元格可以是空的(包含O)或完整的(包含X)。该网格应随机填充。随机播种兰特数发生器。填充网格后,将其输出到屏幕。输出后,您的程序将反转网格(垂直轴上的翻转,而不是对角线上的翻转),然后输出新网格。

任何人都能告诉我这是怎么做到的吗?

1 个答案:

答案 0 :(得分:1)

c ++中的2D数组(以下称为'矩阵')基本上是一个数组数组。也就是说,数组的每个元素都是另一个数组。

实现这一目标的方法是创建一个名为“嵌套循环”的东西。这是一个例子:

for (int i = 0; i < length; ++i) {
    for (int j = 0; j < length; ++j) {
        [code for generating the numbers here]
    }
}

这样,每个人都可以代表矩阵的一行,每个&#39; j&#39;代表一列。在他们的每个交叉点,都有一个数字。您的情况下的长度对应于20,并且可以使用c ++的内置随机功能来完成随机生成,尽管您可能希望使用当前时间作为随机生成的种子。

反转网格意味着你向后读出行,这意味着你不是从0到20计数,而是从20计数到0。