Subroutine create_sq(n)

implicit none

integer, intent(in)::n

integer i

real x

open (50, file='isxseq.txt', access= 'sequential', form='unformatted', status='new')

do i=1,n

print*,'bb cislo'

read *,x

write(50) x

enddo

close(50)

End subroutine

Subroutine view_sq()

implicit none

real x

open (10,file='isxseq.txt',form='unformatted',status='old')

print*,'fail sq'

do while (.not.eof (10))

read(10) x

print '(f3.0, 2x\)', x

enddo

close(10)

!11 print*,'ochibka open'

End subroutine

Subroutine del_min ()

implicit none

real x, min

open (10, file= 'isxseq.txt', form= 'unformatted', status='old')

open (30, form='unformatted', status='scratch')!временный файл

!нахождение наименьшего значения в файле

read(10) min! чтение из файла первой записи

do while (.not. eof (10))

read(10) x

if (x < min) min=x

enddo

!удаление с использованием временного файла

Rewind(10)

do while (.not. eof (10))

read(10) x

if (x /= min) write(30) x

Enddo

Rewind (10)

Rewind (30)

do while (.not. eof (30))

read(30) x

write(10)x

Enddo

close(10)

close(30)

End subroutine

Program main

implicit none

integer, parameter:: n=10!количество создаваемых чисел

Call create_sq (n)

print*,' исходный файл '

Call view_sq()

Call del_min()

print*,' файл после удаления'

Call view_sq()

End program


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: