Advertisement
Domerk

Типизированные файлы 4

Oct 20th, 2011
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.55 KB | None | 0 0
  1. {Программа находит максимальное и минимальное число в файле, удаляет всё, что находится между ними. Доработать.}
  2.  
  3. program tip;
  4. uses crt;
  5.  
  6. var
  7. f: file of integer;
  8. a1, n, i, amax, nmax, na, amin, nmin, na1 : integer;
  9. begin
  10. clrscr;
  11.  
  12. writeln ('Vvod kolichestva chisel');
  13. readln (n);
  14. assign (f, 'file.int');
  15. rewrite (f);
  16. randomize;
  17.  
  18. for i := 1 to n do begin
  19. a1:=Random (100);
  20. write (f, a1);
  21. end;
  22.  
  23. reset (f);
  24. clrscr;
  25.  
  26. for i :=1 to n do begin
  27. read (f, a1);
  28. writeln (a1);
  29. end;
  30.  
  31. reset (f);
  32. amax:=-1;
  33. amin:=101;
  34.  
  35. while not eof(f) do begin
  36. read (f, a1);
  37.     if a1 > amax then begin
  38.     amax:=a1;
  39.     nmax:=filepos (f);
  40.     end;
  41.     if a1<amin then begin
  42.     amin:=a1;
  43.     nmin:=filepos (f);
  44.     end; end;
  45.  
  46. writeln ('max = ', amax, ' nmax = ', nmax);
  47. writeln ('min = ', amin, ' nmin = ', nmin);
  48.  
  49. na:=nmin;
  50. na1:=nmax;
  51.  
  52. if nmax<nmin then begin
  53. i:=nmin-nmax;
  54. seek (f, nmax);
  55. write (f, amin);
  56.  
  57. if (n-nmin)>2 then begin
  58. while not eof (f) do begin
  59. seek (f, na);
  60. read (f, a1);
  61. seek (f, na1+1);
  62. write (f, a1);
  63. na1:=na1+1;
  64. na:=na+1;
  65. end;
  66. seek (f, nmin-1);
  67. truncate (f);
  68. end;
  69.  
  70. end else begin
  71. i:=nmax-nmin;
  72. seek (f, nmin);
  73. write (f, amax);
  74. if (n-nmax)>2 then begin
  75. while not eof (f) do begin
  76. seek (f, na1);
  77. read (f, a1);
  78. seek (f, na+1);
  79. write (f, a1);
  80. na1:=na1+1;
  81. na:=na+1;
  82. end;
  83. seek (f, nmax-1);
  84. truncate (f);
  85. end;
  86. end;
  87.  
  88. reset (f);
  89. while not eof(f) do begin
  90. read (f, a1);
  91. writeln (a1);
  92. end;
  93.  
  94. close (f);
  95. readln;
  96. clrscr;
  97. end.
  98.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement