-1
プログラムは、16×16グリッドを印刷し、複数の要素をグリッド内に水平にランダムに挿入することを想定しています。複数回試行すると、シンボルがグリッドに挿入されます。なぜこれが起こるのかと思います。ここに私のコードのコピーは、これまでのところです:複数の要素を配列に挿入する方法
#include <stdio.h>
#include <stdlib.h>
char **create2DArray();
#define WIDTH 16
#define HEIGHT 16
char** myArray; //global array
void main()
{
myArray = create2DArray();
}
char **create2DArray(){
int i,j;
char **array = (char **) malloc(sizeof(char *) * WIDTH);
for(i=0; i<WIDTH; i++)
array[i] = (char *) malloc(sizeof(char) * HEIGHT);
void insertHorizontally(char* word, char** array);
srand(time(NULL));
int WIDTH_1 = (rand()%15)+ 1;
int HEIGHT_1 = (rand()%15) + 1;
int insert;
char* word[] = {"CAT","DOG",};
insert = strlen(word);
for(i=0; i<WIDTH; i++){
for(j=0; j<HEIGHT; j++){
array[i][j] = '.';
}
}
for (j = HEIGHT_1; j < HEIGHT_1 + insert; j ++) {
array[WIDTH_1][j] = word[j - HEIGHT_1];
}
void printArray(char** array);
for(i=0; i<WIDTH; i++){
for(j=0; j<HEIGHT; j++){
printf("%c ", array[i][j]);
}
printf("\n");
}
return array;
}
すべてのヘルプ、ヒントやアドバイスをいただければ幸いです:)
ヒント: 'void main'ではなく' int main'を使用してください。コードを適切にインデントすると、あなたや他の人がコードを理解する機会が増えます。最後に、警告を有効にしてコンパイルしてください。 –