ok, hai ragione, quindi io ho fatto una nuova malloc per una copia della mia matrice n per n che verrà chiamata tutte le volte che ne creo una nuova. Quindi dovrei avere 2 matrici allocate giusto?? Quella che utilizzo e una ausiliaria.
char** copia(int d, char **a){
int i, j;
a=(char **) malloc( d * sizeof(char *));
for (i=0; i<d; i++)
a[i]=(char *) malloc( d * sizeof(char));
for (i=0; i<d; i++){
for (j=0;j<d;j++)
a[i][j]='o';
}
return a;
}
Poi nella mia funzione ruota ho fatto così:
void ruotadx(int d, char **a, char **p){
int i, j;
for (i=0; i<d; i++){
for (j=0;j<d;j++)
a[i][j]=p[j][d-1-i];
}
}
Fin qui dovrebbe essere giusto.
Infine però come faccio a rimettere la a nella p??
Grazie