Domanda

Questo è il codice di Game of Life C di Conway.

Funzione Newgen Controlla le celle vicine, tutte e otto, anche se la cella è sul bordo della matrice. Come posso cambiarlo in un modo che non si tradurrà nell'accesso ai dati vincolati e al comportamento indefinito?

Inoltre ho questo errore:

1   IntelliSense: a value of type "void *" cannot be assigned to an entity of type "int *"  

Il codice è:

void copy() {
  int i, j;
  for (i = j = 0; i < HEIGHT; i++) {
    for (; j < WIDTH; j++) {
      gb2[i][j] = gb[i][j];
    }
  }
}

void init() {
  int i, j;
  for (i = 0; i < HEIGHT; i++) {
    gb [i] = malloc(sizeof(int)*WIDTH);
    gb2[i] = malloc(sizeof(int)*WIDTH);
  }
  for (i = 0 ; i < HEIGHT; i++) {
    for (j = 0 ; j < WIDTH; j++) {
      gb [i][j] = 0;
    }
  }
  gb[0][0] = 1;
  gb[0][1] = 1;
  gb[1][0] = 1;
  gb[1][1] = 1;
  copy();
}

... int main () {int i; dentro(); newGen (); printg (); per (i = 0; i <altezza; i ++) {libero (gb [i]); libero (GB2 [i]); }}

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top