У меня есть переменная с именем «end», и я вставляю значение в мой 2-мерный массив с именем «xWithSurface». Все работает идеально, пока не достигнет [1] [8], [1] [9], [2] [6] и некоторого места.
Это индексы с проблемами: (Некоторые места даже содержат значения, не входящие в интервал 6)
С Surface: X1 [1] [0]: 0 X2 [1] [1 ]: 6 Y [1]: 1
С поверхностью: X1 [1] [2]: 6 X2 [1] [3]: 12 Y [1]: 1
С поверхностью : X1 [1] [4]: -1 X2 [1] [5]: -1 Y [1]: 1
С Surface: X1 [1] [6]: 18 X2 [1] [ 7]: 1 Y [1]: 1
С поверхностью: X1 [1] [8]: 2 X2 [1] [9]: 3 Y [1]: 1 <<<<<< - ------ </p>
.
С поверхностью: X1 [2] [0]: 4 X2 [2] [1]: 5 Y [2]: 2 <<<< ----- </p>
С поверхностью: X1 [2] [2]: 6 X2 [2] [3]: 7 Y [2]: 2 <<<<<< ----- </p>
С поверхностью: X1 [2] [4]: 8 X2 [2] [5]: 9 Y [2]: 2
С поверхностью: X1 [2] [6]: 1 X2 [2] [7]: 24 Y [2]: 2
С Surface: X1 [2] [8]: -1 X2 [2] [9]: -1 Y [2]: 2
Другие индексы в порядке
Вот мой код:
srand(time(0));
int xWithSurface[][10] = {};
int yWithSurface[10] = {};
int y;
int x;
for (y = 0; y < 10; y++) {
int start = 0;
int end = 6;
for (x = 0; x < 10; x+=2) {
int surface = (rand()%2);
if (surface == 1){
xWithSurface[y][x] = start;
xWithSurface[y][x+1] = end;
yWithSurface[y] = y;
printf("^^^^^^^");
} else if (surface == 0) {
xWithSurface[y][x] = -1;
xWithSurface[y][x+1] = -1;
yWithSurface[y] = y;
printf(" ");
}
start += 6;
end += 6;
}
printf("\n");
}
}
Как распечатать свой архив:
int o, p;
for (o = 0; o < 10; o++) {
for (p = 0; p < 10; p+=2){
printf("With Surface: X1[%d][%d]: %d X2[%d][%d]: %d Y[%d]: %d ", o, p, xWithSurface[o][p], o, p+1, xWithSurface[o][p+1], o, yWithSurface[o]);
printf("\n");
}
printf("\n\n");
}