Необходимо считать данные из текстового файла dan.txt (x(i)) и по формуле внести новые данные в файл new.txt (y(i)) Y(i)=(dT/(T+dT))*x(i)+(T/(T+dT))*x(i-1) При этом если abs(x(i+19)-x(i))< A T=T1 Если bs(x(i+19)-x(i))>= A T=T2 (При этом надо сравнивать 1ый и 20ый элемент потом 2ой и 21ый и тд) Исправьте ошибки program zaz dimension x(n),y(n),r(n) real A,dT,T1,T2 A=0.4 dT=0.05 T1=3.0 T2=1.0 n=3601 open(10,file='dan.txt',status='old') read(10,*)(x(i),i=1,n) open(20,file='new.txt',status='new') do i=1,19 x(i)=x(i+1) end do x(20)=x(1) do i=1,n-1 r(i)=abs(x(i+1)-x(i)) end do do i=1,n c if ((abs(x(i+19)-x(i))).LT.A) then if (r(i).lt.A) then y(1)=x(1) y(i)=(dT/(T1+dT))*x(i)+(1/(T1+dT))*x(i-1) else y(1)=x(1) y(i)=(dT/(T2+dT))*x(i)+(T2/(T2+dT))*x(i-1) end if end do close(10) do 220 i=1,3601 write(20,111)i,y(i) 111 format(2x,'y(',i4,')=',e12.6) c end do close(20) 220 continue end Файл dan.txt 0.19535 0.20316 0.17582 0.16409 0.097675 0.07814 0.066419 0.070326 0.093768 0.13675 0.15628 0.17972 0.19535 0.25005 0.28912 0.31647 0.34382 0.35944 0.34772 0.35554 0.36335 0.39461 0.44149 0.42977 0.37507 0.33991 0.29693 0.24223 0.22661 0.2227 0.21098 0.19144 0.16409 0.1094 0.10158 0.093768 0.089861 0.10158 0.12112 0.13675 0.15628 0.17972 0.24614 0.2813 0.32428 0.33991 0.336 0.336 0.336 0.37117 0.3907 0.45321 0.43758 0.40242 0.37117 0.2774 0.26958 0.25005