随机对角线2D阵列输入

时间:2018-04-25 02:32:50

标签: c arrays

我试图将对角线输入C中的二维数组。我能够在水平和垂直方向上进行单词处理,但是这里比较棘手,因为这些单词可以向上或向下输入斜。我希望变量X在循环的第一次迭代中为0,然后对循环的其余部分进行递增,或者为循环的其余部分递减(无论是随机选择哪一个)。这可能吗?

            for(i=0, j = 0; i < wordLen && j < arrayHeight; j++, i++)
                    array[arrayRow+X][arrayColumn+i] = wordList[k][j];

tl; dr我注意让X变量以这种方式做某些特定事情,我无法弄清楚如何做到这一点

1 个答案:

答案 0 :(得分:0)

为什么不

for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
    array[arrayRow-i][arrayColumn+i] = animals[k][j];

for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
    array[arrayRow+j][arrayColumn-i] = animals[k][j];

等。对于不同的方向

或者

for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
    array[arrayRow+wordlength-i-1][arrayColumn+i] = animals[k][j];

或者如果您想使用x

for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
 {
    x=wordlength-i-1;
    array[arrayRow+x][arrayColumn+i] = animals[k][j];
 }