#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 10
#define ROW 10
#define COL 10
char grid[ROW][COL+1] =
{
"--IHH---I-",
"-H--------",
"----------",
"----H-----",
"----IH----",
"----H-----",
"----H-----",
"-H--------",
"---------I",
"-HI--H---I",
};
void nextState() {
char tmpGrid[SIZE][SIZE+1];
int i , j;
for(i=0; i<SIZE; i++) {
for(j=0; j<SIZE; j++) {
tmpGrid[i][j] = grid[i][j];
}
}
for(i=0; i<SIZE; i++) {
for(j=0; j<SIZE; j++) {
if(tmpGrid[i][j] == 'I') {
if(i > 0 && tmpGrid[i-1][j] != '-') {
grid[i-1][j] = 'I';
}
if(j > 0 && tmpGrid[i][j-1] != '-') {
grid[i][j-1] = 'I';
}
if(i < (SIZE - 1) && tmpGrid[i+1][j] != '-') {
grid[i+1][j] = 'I';
}
if(j < (SIZE - 1) && tmpGrid[i][j+1] != '-') {
grid[i][j+1] = 'I';
}
}
}
}
}
void printGrid() {
int i , j;
for(i=0; i<SIZE; i++) {
for(j=0; j<SIZE; j++) {
printf("%c ", grid[i][j]);
}
printf("\n");
}
printf("\n\n");
}
int main() {
int n,sayac;
sayac = 0;
scanf("%d", &n);
while(sayac != n) {
nextState();
sayac++;
}
printGrid();
return 0;
}
我正在尝试提供一个字符串数组作为输入,以使其成为一种算法,在该算法中,“ H”(健康)在每次迭代中均被“ I”(感染)感染,但不知道如何执行。我怎样才能复制粘贴一个数组,例如;
-IHH --- I-
---- H --------- IH ---- - - H - - - - - H - - --H - - - - - - - - -一世-HI--H --- I
谢谢!
要读取数组,您需要创建一个循环并扫描值-