Ci sono quasi,ora stampa tutte le lettere solo in spazi vuoti ma non so come fare per non incrementare o diminuire a o b nello switch nel caso la casella fosse occupata.
![]()
![]()
qualche consiglio....
codice:#include <stdio.h> #include <time.h> #include <stdlib.h> #define N 10 int main() { char griglia[N][N]={0},a,b; char d='A'; int num_cas,alfa; srand ((unsigned)time(NULL)); //inizializzo generatore random for(a=0;a<N;a++) //creo griglia con puntini for(b=0;b<N;b++) griglia[a][b] = '.'; for(a=0,b=0,alfa=0;alfa<26;alfa++){ if(griglia[a][b] == '.') griglia[a][b] = d++; else alfa--; num_cas = rand() % 4; switch (num_cas) { case 0: if(a>0) a -= 1; break; case 1: if(b<9) b += 1; break; case 2: if(a<9) a += 1; break; case 3: if(b>0) b -= 1; break;} } for(a=0;a<N;a++){ printf("\n\n\t\t\t"); for(b=0;b<N;b++) printf ("%c ",griglia[a][b]);} printf("\n\n\n\n"); return 0; }

Rispondi quotando