Удалить все лишние пробелы, оставив по одному между словами - Free Pascal

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

Задание "Написать программу, в которой вводится строка из слов с некоторым количеством пробелов между ними. Удалить лишие пробелы, оставив по одному между словами". Только начал работать со строками, поэтому прошу проверить мой код (Вроде бы все работает, но мало ли, опять что-то забыл) :
Program TryingToUseString;
var string1 : string;
counter,positionOfspace,counter1,falsepos,mono: integer;
space : char;
begin
    writeln('Input a string : ');
    readln(string1);
    space:=' ';
    positionOfspace:=1;
    while (positionOfspace<=length(string1))  do
        begin
                  falsepos:=positionOfspace;
                  mono:=0;
                  while (string1[falsepos]=space) do
                     begin
                        inc(mono);
                        inc(falsepos);
                     end;
           
           delete(string1,positionOfspace+1,mono-1);
           inc(positionOfspace);
        end;
   write(string1);
 
end.

Код к задаче: «Удалить все лишние пробелы, оставив по одному между словами - Free Pascal»

textual
uses strutils;
var s : string;
begin
  write('s = '); readln(s);
  s := DelSpace1(s); // вот это - уже готовая функция, заменяющая несколько пробелов на один
  writeln(s);
end.

5   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ