Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {Задание: сформировать типизированный файл, записать в него 10 случайных чисел, найти среди них наибольшее и наименьшее, поменять их местами и удалить все числа, идущие после наибольшего. Узнать новый размер файла. Массивы и строки не использовать}
- program chisl;
- uses crt;
- const n=10;
- var
- f: file of integer; {Файл объявляется как содержащий целые числа}
- a1, i, max, min, size, nmax, nmin: integer; {Переменные max и min служат для хранения наибольшего и наименьшего числе соответственно, nmax и nmin - переменные, хранящие номера максимального и минимального чисел в файле}
- begin
- clrscr;
- assign (f, 'File.int'); {Создание файла и установление связи с ним}
- rewrite (f); {Подготовка файла к записи}
- randomize; {Объявление генератора свободных чисел}
- for i:=1 to n do begin
- a1:=Random(100);
- write (f, a1);
- end;
- reset (f);
- for i:=1 to n do begin
- read (f, a1);
- writeln (a1);
- end;
- reset (f);
- max:=-1; {Так как числа в файле могут принимать значения от 0 до 100, для поиска максимального используем число, которое будет точно меньше}
- min:=101; {С минимальным числом соответственно наоборот}
- while not eof (f) do begin
- read (f, a1);
- if a1>max then begin
- max:=a1;
- nmax:=filepos(f);
- end;
- if a1<min then begin
- min:=a1;
- nmin:=filepos(f);
- end;
- end;
- writeln ('max=', max, ' nmax=', nmax);
- writeln ('min=', min, ' nmin=', nmin);
- seek (f, nmax-1);
- write (f, max);
- seek (f, nmin-1);
- write (f, max);
- reset (f);
- for i:=1 to n do begin
- read (f, a1);
- writeln (a1);
- end;
- seek (f, nmin);
- truncate (f);
- size:=filesize (f);
- writeln ('Size of File: ', size);
- reset (f);
- while not eof(f) do
- begin
- read (f, a1);
- writeln (a1);
- end;
- close (f);
- readln;
- clrscr;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement