Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
04.06.2015
Размер:
1.78 Кб
Скачать
Program praktika31;
Uses CRT;
Var f: File Of Integer;
k, max, min, n_max, n_min, c, t, n, count, x: Integer;
Begin
Assign(f, 'D:\User\f.dat');
ReWrite(f);
Repeat
Write('Введите число: ');
ReadLn(k);
If (k=0)
Then Break
Else Write(f, k);
Until(k=0);
Reset(f);
WriteLn;
WriteLn('Числа, записанные в файл:');
WriteLn;
While (Not(EOF(f))) Do
Begin
Read(f, k);
Write(k:5);
End;
Reset(f);
While (Not(EOF(f))) Do
Begin
Read(f, k);
max:=k;
min:=k;
count:=FilePos(f);
End;
Reset(f);
Read(f, k);
min:=k;
max:=k;
n_max:=1;
n_min:=1;
Reset(f);
While (Not(EOF(f))) Do
Begin
Read(f, k);
If (k>max)
Then
Begin
max:=k;
n_max:=FilePos(f);
End;
If (k<min)
Then
Begin
min:=k;
n_min:=FilePos(f);
End;
End;
WriteLn;
WriteLn;
WriteLn('максимальное число = ', max,' позиция = ', n_max);
WriteLn;
WriteLn('минимальное число = ', min,' позиция = ', n_min);
WriteLn;
If (n_min>n_max)
Then
Begin
c:=n_max;
n_max:=n_min;
n_min:=c;
End;
Reset(f);
Seek(f, n_min);
n:=FilePos(f);
Seek(f, n_max-1);
t:=FilePos(f);
Reset(f);
x:=0;
Repeat
Seek(f, t);
Read(f, k);
Seek(f, n);
Write(f, k);
t:=t+1;
n:=n+1;
x:=x+1;
Until(t=count);
Reset(f);
Seek(f, n_min+x);
Truncate(f);
Reset(f);
WriteLn;
WriteLn('Выходной файл:');
WriteLn;
While (Not(EOF(f))) Do
Begin
Read(f, k);
Write(k:5);
End;
Close(f);
ReadLn;
End.


Соседние файлы в папке Информатика Практика