Удалить в каждом слове повторяющиеся символы (проверьте правильность) - Turbo Pascal
Формулировка задачи:
Вот предложение: "Дана строка. Группы символов, разделенные пробелами и не содержащие пробелы
внутри себя, будем называть словами."
Написать программу, удаляющую в каждом слове повторяющиеся символы.
Решение задачи: «Удалить в каждом слове повторяющиеся символы (проверьте правильность)»
textual
Листинг программы
var s: string; i: integer; m: set of char; begin writeln('Введите строку:'); readln(s); m := []; i := 1; while i <= length(s) do if s[i] in m then delete(s, i, 1) else begin if s[i] = ' ' then m := [] else include(m, s[i]); inc(i) end; writeln('Результат:'); writeln(s); readln end.
Объяснение кода листинга программы
- Вводится строка с помощью функции readln.
- Создается пустое множество символов m.
- Инициализируется переменная i, которая будет использоваться как счетчик символов.
- Запускается цикл while, который будет выполняться до тех пор, пока i меньше или равно длине входной строки s.
- Внутри цикла проверяется, есть ли текущий символ s[i] в множестве m.
- Если символ присутствует в m, то он удаляется из строки s с помощью функции delete.
- Если символ отсутствует в m, то он добавляется в m.
- После завершения цикла while выводится результат на экран с помощью функции writeln.
- Завершается программа вызовом функции readln для чтения следующего ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д