Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {Программа находит максимальное и минимальное число в файле, удаляет всё, что находится между ними. Доработать.}
- program tip;
- uses crt;
- var
- f: file of integer;
- a1, n, i, amax, nmax, na, amin, nmin, na1 : integer;
- begin
- clrscr;
- writeln ('Vvod kolichestva chisel');
- readln (n);
- assign (f, 'file.int');
- rewrite (f);
- randomize;
- for i := 1 to n do begin
- a1:=Random (100);
- write (f, a1);
- end;
- reset (f);
- clrscr;
- for i :=1 to n do begin
- read (f, a1);
- writeln (a1);
- end;
- reset (f);
- amax:=-1;
- amin:=101;
- while not eof(f) do begin
- read (f, a1);
- if a1 > amax then begin
- amax:=a1;
- nmax:=filepos (f);
- end;
- if a1<amin then begin
- amin:=a1;
- nmin:=filepos (f);
- end; end;
- writeln ('max = ', amax, ' nmax = ', nmax);
- writeln ('min = ', amin, ' nmin = ', nmin);
- na:=nmin;
- na1:=nmax;
- if nmax<nmin then begin
- i:=nmin-nmax;
- seek (f, nmax);
- write (f, amin);
- if (n-nmin)>2 then begin
- while not eof (f) do begin
- seek (f, na);
- read (f, a1);
- seek (f, na1+1);
- write (f, a1);
- na1:=na1+1;
- na:=na+1;
- end;
- seek (f, nmin-1);
- truncate (f);
- end;
- end else begin
- i:=nmax-nmin;
- seek (f, nmin);
- write (f, amax);
- if (n-nmax)>2 then begin
- while not eof (f) do begin
- seek (f, na1);
- read (f, a1);
- seek (f, na+1);
- write (f, a1);
- na1:=na1+1;
- na:=na+1;
- end;
- seek (f, nmax-1);
- truncate (f);
- end;
- end;
- 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