Удалить все лишние пробелы, оставив по одному между словами - 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.
Объяснение кода листинга программы
- Используется модуль StrUtils.
- Объявлена переменная s типа string.
- Пользователю предлагается ввести строку.
- Введенная строка сохраняется в переменной s.
- Функция DelSpace1 заменяет несколько пробелов на один.
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д