Удалить все лишние пробелы, оставив по одному между словами - 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.

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

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

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

  1. Используется модуль StrUtils.
  2. Объявлена переменная s типа string.
  3. Пользователю предлагается ввести строку.
  4. Введенная строка сохраняется в переменной s.
  5. Функция DelSpace1 заменяет несколько пробелов на один.
  6. Результат выводится на экран.

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


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

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

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