Из файла f получить файл g, исключив повторные вхождения чисел - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Ребят помогите пожалуйста решить эту задачу: Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Из файла f получить файл g, исключив повторные вхождения чисел. Вывести файл g на экран. Заранее спасибо.

Решение задачи: «Из файла f получить файл g, исключив повторные вхождения чисел»

textual
Листинг программы
uses
  crt;
var f, g : file of integer;
    n, i, a, b, j : integer;
    bol : boolean;
begin
  clrscr;
  assign(f,'f.dat');
  assign(g,'g.dat');
  rewrite(f);
  write('Количество компонент исходного файла : ');
  readln(n);
  randomize;
  writeln('Исходный файл f.dat :');
  for i := 1 to n do begin
    a := random(11)-5;
    write(a:4);
    write(f,a);
  end;
  writeln;
  reset(f); rewrite(g);
  for i := 1 to filesize(f) do begin
    seek(f,i-1);
    read(f,a); bol := false;
    for j := 1 to i-1 do begin
      seek(f,j-1);
      read(f,b);
      If a = b then begin
        bol := true;
        break;
      end;
    end;
    If not bol then write(g,a);
  end;
  writeln;
  writeln('g.dat : ');
  reset(g);
  while not eof(g) do begin
    read(g,a);
    write(a:4);
  end;
  close(f);
  close(g);
  readln;
end.

Объяснение кода листинга программы

  1. Создаются два файла — f и g, которые представляют собой массивы целых чисел.
  2. Задается количество компонентов исходного файла (переменная n).
  3. Инициализируется генератор случайных чисел и записывается информация о количестве компонентов исходного файла в файл f.
  4. Записывается информация об исходном файле f.dat в файл f.
  5. Переменные a и b инициализируются случайными числами от -5 до 10.
  6. Информация о каждой компоненте исходного файла записывается в файл f.
  7. Переменная bol инициализируется значением false.
  8. Чтение информации из файла f начинается с позиции i-1 и продолжается до конца файла.
  9. Если текущая позиция в файле f совпадает с предыдущей позицией, то переменная bol устанавливается в значение true и цикл прерывается.
  10. Если не было совпадений, то переменная a записывается в файл g.
  11. Цикл чтения информации из файла f продолжается до тех пор, пока не будет достигнут конец файла.
  12. После окончания чтения информации из файла f, закрываются файлы f и g.
  13. В файл g записывается информация о каждой компоненте исходного файла, начиная с позиции i-1 и до конца файла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы