!-----------------! program craverage !-----------------! implicit none integer :: i,r,ll,bins real(8) :: c real(8), allocatable :: cr(:,:) open (10,file='read.in',status='old') read(10,*)ll close(10) allocate(cr(2,0:ll/2)) bins=0 cr=0.d0 open (10,file='cor.dat',status='old') do do r=0,ll/2 read(10,*,end=10)i,c cr(1,r)=cr(1,r)+c cr(2,r)=cr(2,r)+c**2 enddo bins=bins+1 end do 10 close(10) write(*,*)bins cr=cr/bins cr(2,:)=sqrt((cr(2,:)-cr(1,:)**2)/(bins-1)) open (10,file='c.dat') do r=0,ll/2 write(10,'(i6,2f15.8)')r,cr(:,r) enddo close(10) deallocate(cr) end program craverage !---------------------!