Per prima cosa metti bene le parentesi del primo ciclo for.
Scusami ma quel riemp cosa rappresenta? Il numero di riga o di colonna? Oppure entrambe poichè l'esercizio prevede solo matrici quadrate?
Inoltre il secondo fprintf va fuori dal ciclo for interno altrimenti ad ogni numero ti va a capo come ora...Se noti bene il tuo esercizio inizia già a funzionare infatti i primi due te li inverte...
Metti bene parentesi e questi accorgimenti che ti ho detto e controllalo col mio codice e vedi che va.
Comunque quel 3 nel tuo caso deve diventare il numero di colonne - 1....se riesci a tradurlo bene ti deve funzionare per forza, io l'ho provato ora ti mostro tutto il codice anche se l'ho scritto in C e in modo statico con una matrice 4x4:
codice:#include <stdio.h> #include <stdlib.h> #define N 4 #define M 4 int main() { int mat[N][M] = {{2,5,3,14}, {17, 6, 7, 10}, {9,12,1,0}, {15,8,16,11}}; int i, j; int temp; for(i=0;i<N;i++) { for(j=0;j<(M/2);j++) { temp = mat[i][j]; mat[i][j] = mat[i][M-1-j]; mat[i][M-1-j] = temp; } } for(i=0;i<N;i++) { for(j=0;j<M;j++) { printf("%d ", mat[i][j]); } printf("\n"); } return 0; }

Rispondi quotando
