Убрать лишние пробелы в тексте и подсчитать количество строк в файле - Free Pascal
Формулировка задачи:
Ребят, помогите с задачей, пожалуйста!!!! показывает ошибку 2
задача убирает лишние пробелы в тексте и подсчитывает кол-во строк в файле.
Листинг программы
- uses crt;
- var f:text;
- s:string;
- Procedure probel( var s:string );
- begin
- while pos(' ',s)>0 do
- delete (s,pos(' ',s),1);
- while s[1]=' ' do delete(s,1,1);
- end;
- Function kol(s:string):integer;
- var k:integer;
- begin
- assign(f,'file.txt');
- rewrite(f);
- k:=0;
- While not Eof(f) do
- begin
- Read(f,s);
- k:=k+1;
- end;
- close(f);
- writeln(' ');
- Writeln('Line count=',k);
- ReadLn;
- kol:=k;
- end;
- BEGIN
- clrscr;
- assign(f,'file.txt');
- writeln('new text: ');
- reset(f);
- while not eof(f) do
- begin
- readln(f,s);
- probel(s); write(s);
- end;
- close(f);
- kol(s);
- readln;
- end.
Решение задачи: «Убрать лишние пробелы в тексте и подсчитать количество строк в файле»
textual
Листинг программы
- uses crt;
- Procedure probel( var s:string ); //удаление пробелов
- begin
- while s[1]=' ' do delete(s,1,1);//в начале
- while s[length(s)]=' ' do delete(s,length(s),1); //в конце
- while pos(' ',s)<>0 do delete(s,pos(' ',s),1); // в середин, если 2 рядом
- end;
- var f,g:text;
- s:string;
- k:integer;
- begin
- clrscr;
- k:=0; //количество строк
- assign(f,'file.txt'); //связываемся с файлом
- reset(f); /открываем для чтения
- assign(g,'file_1.txt');
- rewrite(g); //второй для записи
- while not eof(f) do
- begin
- readln(f,s);//читаем первый
- probel(s); //удаляем лишние прбелы
- inc(k);//считаем строки
- writeln(g,s); //пишем измененную строку в файл 2
- end;
- close(f);//закрываем их
- close(g);
- erase(f); //уничтожаем первый
- rename(g,'file.txt');//переименовываем второй в первый
- writeln('Количество строк=',k);
- readln;
- end.
Объяснение кода листинга программы
- Установка начального значения переменной k равным 0.
- Открытие файла
file.txt
для чтения и файлаfile_1.txt
для записи. - В цикле, пока не достигнут конец файла, происходит чтение строки из файла
file.txt
и ее запись в файлfile_1.txt
. - При каждой итерации цикла происходит удаление лишних пробелов из строки с помощью процедуры probel.
- Каждая строка, прошедшая через процедуру probel, записывается в файл
file_1.txt
. - После завершения чтения всех строк из файла
file.txt
, файлfile_1.txt
переименовывается вfile.txt
, а количество строк выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д