program leggo2din implicit none ! lettura fino a end of file con vettore dinamico ! open -- conta e poi alloca e legge ! integer ::n,i,iend real, allocatable,dimension(:) :: x real:: xm,xx character (len=40) :: nome 1 Write(6,*)'Nome File?' read(5,'(a)')nome open (unit=50,status='old',file=nome,err=1) do i=1,1000000 read(50,*,iostat=iend)xx if(iend /= 0)exit enddo if(iend > 0)then write(6,*)'Errore di lettura :',iend stop endif n=i-1 write(6,*) 'Lette ',n,' righe' rewind(50) allocate(x(n)) do i=1,n read(50,*)x(i) enddo xm=0 do i=1,n xm=xm+x(i) enddo xm=xm/n write(6,*) 'media=',xm end program leggo2din