program avec real vv(200),hh(200),hv(200),vh(200) real vvav,hhav,vhav,hvav real vvdb,hhdb,vhdb,hvdb integer ntrace,mark,i character filename*13 print *, 'Enter file name' read(*,'(a13)') filename open(unit=20,file=filename) read(20,*) ntrace do 10 i=1,ntrace read(20,*) vv(i),hh(i),vh(i),hv(i) vv(i)=10.0**(vv(i)/10.) hh(i)=10.0**(hh(i)/10.) vh(i)=10.0**(vh(i)/10.) hv(i)=10.0**(hv(i)/10.) 10 continue close(20) mark=ntrace c cccccccccccccccccccccc c open file #2 c cccccccccccccccccccccc print *, 'Enter file name' read *, filename if(filename .eq. 'stop') then goto 40 else continue endif open(unit=20,file=filename) read(20,*) ntrace do 20 i=mark+1,mark+ntrace,1 read(20,*) vv(i),hh(i),vh(i),hv(i) vv(i)=10.0**(vv(i)/10.) hh(i)=10.0**(hh(i)/10.) vh(i)=10.0**(vh(i)/10.) hv(i)=10.0**(hv(i)/10.) 20 continue close(20) mark=ntrace+mark c cccccccccccccccccccccc c open file #3 c cccccccccccccccccccccc print *, 'Enter file name' read *, filename if(filename .eq. 'stop') then goto 40 else continue endif open(unit=20,file=filename) read(20,*) ntrace do 30 i=mark+1,mark+ntrace,1 read(20,*) vv(i),hh(i),vh(i),hv(i) vv(i)=10.0**(vv(i)/10.) hh(i)=10.0**(hh(i)/10.) vh(i)=10.0**(vh(i)/10.) hv(i)=10.0**(hv(i)/10.) 30 continue mark=mark+ntrace close(20) 40 continue vvav=0.0 hhav=0.0 vhav=0.0 hvav=0.0 do 50 i=1,mark vvav=vvav+vv(i)/mark hhav=hhav+hh(i)/mark vhav=vhav+vh(i)/mark hvav=hvav+hv(i)/mark 50 continue vvdb=10.*alog10(vvav) hhdb=10.*alog10(hhav) vhdb=10.*alog10(vhav) hvdb=10.*alog10(hvav) c print*, vvdb,hhdb,vhdb,hvdb,mark open(unit=20,file='avec.out',access='append') write(20,*) vvdb,hhdb,vhdb,hvdb,mark close(20) stop end