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