ciao!!! ho un problema con un algoritmo...
data una amtrice qudrata, dividerla in 4 sottomatrici e invertire la prima con la quarta e la seconda con la terza..
io ho fatto così:

codice:
program matrice
 real:: A(100,100) 
integer:: n, t, i, j
read*, n
 do i=1,n
 do j= 1,n 
read*, A(i,j) 
enddo
 enddo 
do i=1,n/2 
A(i,j)=t 
A(i,j)=A(i,j+n/2+1) 
A(i,j+n/2+1)=t 
enddo 
 do j= 1,n/2 
A(i,j)=t
 A(i,j)=A(i+n/2+1,j)  
A(i+n/2+1,j)=t 
enddo 
do i= n/2, +1, n 
A(i,j)=t
 A(i,j)=A(i+n/2+1,j) 
A(i+n/2+1,j)=s 
enddo 
do j= 1,n/2
 A(i,j)=t
 A(i,j)=A(i,j+n)
 A(i,j+n)=s 
enddo 
do i=1,n
 do j=1,n 
print*, A(i,j)
 enddo 
enddo 
end
l'algoritmo dovrebbe funzionare in questo modo:
1122
1122
A=3344
3344

dovrebeb dare:

4433
4433
2211
2211