내 목표는 1 차원 배열의 임의 순열을 사용하여 채울 2 차원 배열을 만드는 것입니다. tab
의 첫 번째 행과 열은 채워서는 안됩니다.1D 배열의 순열을 사용하여 1D 배열 채우기
#include <stdio.h>
#include <time.h>
#define S 5
void make_board(char tab[S][S]){
int i;
int j;
char signs[16] = {'Z', 'Z', 'Y','Y','X','X','W','W','U', 'U', 'V', 'V', 'S', 'S', 'T', 'T'};
srand(time(NULL));
for(i = 0; i < 16; i++){
int r = (rand() % 16);
int rx = (rand() % 4) + 1;
int ry = (rand() % 4) + 1;
tab[rx][ry] = signs[r];
}
}
,하지만 여전히 난, 일부 필드는 항상 비어 있습니다, 일부는 당신이 16까지 루프 – Leo
난 내 배열에 포함 didnt는 문자가 필요 줘 나던하지만, 필드 크기가 5x5이므로 0에서 25까지 순환하고 rx = rand() % 5에서 순환해야합니다. ry = rand() % 5; –
아니요, 첫 번째 열과 첫 번째 행이 비어 있어야합니다. 설명에 있습니다.) – Leo