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;
}