Переписать текстовый файл в 5 новых. - Free Pascal

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

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

Помогите, пожалуйста, написать программу. Пусть дан текстовый файл. Максимальная длина слова в этом файле равна пяти символам. Создайте пять файлов. Каждой строке входного файла соответствует одна строка в каждом из пяти файлов, в которые переписаны через пробел слова соответствующей длины : в первом файле - слова длины 1, во втором - слова длины 2 и т.д. Если слов длины K нет, то соответствующая строка K-го должна быть пустой. Даже не понимаю с чего тут начать((

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

textual
Листинг программы
const n=5;
var
  f: array [0..n] of Text;
  s, w: String;
  i: Integer;
begin
  Assign(f[0],'0.txt'); Reset(f[0]);
  for i:=1 to n do begin
    Assign(f[i],Chr(Ord('0')+i)+'.txt'); Rewrite(f[i]);
  end;
  while not eof(f) do begin
    Readln(f,s);
    while Pos('  ',s)>0 do Delete(s,Pos('  ',s),1);
    if s[1]=' ' then Delete(s,1,1);
    if s[length(s)]<>' 'then s:=s+' ';
    while Pos(' ',s)>0 do begin
      w:=Copy(s,1,Pos(' ',s)-1);
      if Length(w) in [1..n] then Write(f[Length(w)],' ',w);
      Delete(s,1,Pos(' ',s));
    end;
    for i:=1 to n do WriteLn(f[i]);
  end;
  for i:=0 to n do Close(f[i]);
  WriteLn('Файл прочитан и переписан в ',n,' файлов');
end.

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

  1. Объявлены следующие переменные:
    • f: массив из 5 текстовых файлов
    • s, w: строки
    • i: целое число
  2. Первый файл (0.txt) открывается на чтение, остальные файлы (от 1 до 5) открываются на запись.
  3. В цикле до тех пор, пока не достигнут конец файла, происходит чтение строк из первого файла.
  4. В каждой строке удаляются пробелы в начале и в конце.
  5. Если в строке есть пробелы, они удаляются, кроме последнего.
  6. Каждая строка записывается в соответствующий файл.
  7. После завершения чтения всех строк, файлы закрываются.
  8. Выводится сообщение о том, что файл прочитан и переписан в 5 новых файлов.

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


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

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

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