gpt4 book ai didi

c - 使用 2 个字符随机化 2D 数组?

转载 作者:行者123 更新时间:2023-11-30 15:24:58 26 4
gpt4 key购买 nike

您好,Stack Overflow 社区。我想知道如何在C中仅使用2个字符随机生成2D数组,条件是顶行、底行、第一列和最后一列是相同的字符,只有2个元素除外。我不需要演练,我只需要一个关于如何实现这一目标的更清晰的想法。任何帮助,将不胜感激。

一个例子:

@#@@@@   
@#@@@@
@##@@@
@@#@@@

最佳答案

首先像这样生成中心:

for(i = 1; i < (row - 1); i++) {
for(j = 1; j < (column - 1); j++) {
// select random caracteres to this positions
}
}

现在在边界处留下了一个“数组”以进行随机。

您的数组长度为:2n + 2m - 4(n = 行,m = 列,- 4 个公共(public)索引)

现在生成两个随机位置并生成一个随机字符。

这两个位置必须是这个字符,其他位置必须是另一个字符。

示例:

[][][][]
[][][][]
[][][][]

完成中心:

[][][][]
[][@][#][]
[][][][]

长度数组:(2*3 + 2*4) - 4 = 10

随机位置 = 3 和 9

您可以使用时钟时间来创建索引:

[0][1][2][3]
[9][@][#][4]
[8][7][6][5]

位置的随机字符=“#”

[][][][#]
[#][@][#][]
[][][][]

用顺序字符完成。

[@][@][@][#]
[#][@][#][@]
[@][@][@][@]

当然,您需要在矩阵中实现时钟行走。

希望这有帮助 =)

关于c - 使用 2 个字符随机化 2D 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132967/

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