Чтение в типизированный файл и сортировка данных в типизированном файле - Free Pascal

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

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

Здравствуйте! Дан текстовый файл со следующей характеристикой: "<имя> <число>" Нужно прочитать данные из текстового файла в типизированный файл и отсортировать с помощью типизированного файла их в порядке возрастания по значению <число> из текстового файла. И вывести в новый текстовый файл. Программы у меня нет, но есть процедура сортировки чисел через типизированный файл (написана мной месяц назад примерно). Подтвердить могу тем, что в ней присутствуют операторы, которые можно было бы и не писать (пример подписал в исходнике). Собственно мне нужно как-то вытащить эти числа, но при этом сохранить их связь с именами, чтобы после сортировки все правильно расставить. Скорее всего надо использовать записи, но я не могу понять как их связать с типизированным и файлом. И самое главное как их записать. Вот сам исходник:
 procedure sort_by_tip_f;
 var bj,bi,obmen,nobm,bn,n,i,j :integer;
 begin
  i:=0;
  kz:=kz+1;
  for j:=i to razmer-2 do begin
   seek(f,j);{не является обязательным в этом месте, указатель в файле и сам передвигается при чтении}
   read(f,bj);
   nobm:=j;
   obmen:=bj;
   for n:=j+1 to razmer-1 do begin
    seek(f,n);
    read(f,bn);
    if bn>obmen then begin
     nobm:=n;
     obmen:=bn;
    end;
   end;
   if obmen<>j then begin
    seek(f,nobm);
    write(f,bj);
    seek(f,j);
    write(f,obmen);
   end;
  end;
 end;

Решение задачи: «Чтение в типизированный файл и сортировка данных в типизированном файле»

textual
Листинг программы
assign(f,s);//здесь нужно имя файла напрямую, или присвоить его переменной s
  rewrite(f);

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

  1. f - это переменная, которая представляет собой файловый дескриптор (идентификатор файла).
  2. s - это переменная, которая представляет собой строку (строковый литерал).
  3. assign(f,s) - это функция, которая присваивает файловый дескриптор (идентификатор файла) переменной f значение переменной s.
  4. rewrite(f) - это функция, которая открывает файл с идентификатором f для записи и отбрасывает его содержимое.
  5. В результате выполнения кода переменная f будет содержать файловый дескриптор (идентификатор файла), который можно использовать для чтения и записи данных в файл.

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


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

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

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