Убрать лишние пробелы в тексте и подсчитать количество строк в файле - 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
, а количество строк выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д