real U2(300,300), U1(300,300), U0(300,300) integer rt(300,300) ! open (10, file="laine.in") open (20,file="laine.out") read *,nt alpha=0.05 !***** alg tingimused ***** do i=1,300 do j=1,300 U1(i,j)=0. U0(i,j)=0. rt(i,j)=1 enddo enddo do i=1,5 do j=2,299 U1(i,j)=10. U0(i,j)=10. enddo enddo do i=45,55 do j=175,300 rt(i,j)=0 enddo enddo do i=45,55 do j=135,165 rt(i,j)=0 enddo enddo do i=45,55 do j=1,125 rt(i,j)=0 enddo enddo !********************************************** do k=1,nt do i=2,299 do j=2,299 if(rt(i,j).eq.1)then U2(i,j)=alpha*(U1(i+1,j)-4.*U1(i,j)+U1(i-1,j) *+U1(i,j+1)+U1(i,j-1))+2.*U1(i,j)-U0(i,j) endif enddo enddo !****** raja tingimused ********* do i=1,300 U2(i,300)=0. U2(i,1)=0. U2(300,i)=0. U2(1,i)=0. enddo !****** salvestamine *************** do i=1,300 do j=1,300 U0(i,j)=U1(i,j) U1(i,j)=U2(i,j) enddo enddo !****** kirjutamine ******** if((k/5)*5.eq.k)then write(20,100) U2 100 Format (300F12.5) endif enddo !*********************************************** stop end