Salve a tutti.Ho un problema con un programma.Questo è scritto sintatticamente in forma corretta solo che quando eseguo il debug mi esce questo errore "Segmentation fault(core dumped)".Non so che problema sia e come risolverlo.Premetto che questo programma deve poter dividere in modo RICORSIVO una matrice in 4 parti e mettere il carattere 'D' su ogni diagonale delle 4 parti della matrice prese in considerazione.Inoltre in alto a destra di ogni parte ci deve essere il carattere 'A'.Spero che mi possiate aiutare.Grazie in anticipo!!!!
codice:#include <stdio.h> #include <stdlib.h> #define N 32 int x=0,y=0; void stampa(char mat[][N]); void inizializza(char mat[][N]); void funz(char mat[][N],int z,int t); int main() { char mat[N][N]; inizializza(mat); funz(mat,0,0); funz(mat,0,16); return 0; } void stampa(char mat[][N]){ int i,j; for(i=0;i<N;i++){ for(j=0;j<N;j++){ printf("%c|",mat[i][j]); }printf("\n"); }printf("\n"); } void funz(char mat[][N],int z,int t){ x=z; y=t; int i=0,cont; mat[x][y+15]='A'; for(;i<16;x++,y++,i++){ mat[x][y]='D'; } cont++; if(cont==2){ stampa(mat); } else{ return(funz(mat,z+16,t),cont++); } } void inizializza(char mat[][N]){ int i,j; for(i=0;i<N;i++) for(j=0;j<N;j++) mat[i][j]='X'; stampa(mat); }

Rispondi quotando