Вывести все буквы которые есть во всех словах - Pascal ABC
Формулировка задачи:
Решите пожалуйста задачу на строки. Если можно можете еще объяснить что сделали.
Вывести все буквы которые есть во всех словах.
К примеру вводим слова: папа, мама
Выводить должен: п,а,м
Решение задачи: «Вывести все буквы которые есть во всех словах»
textual
Листинг программы
var s, b: string;
c: char;
begin
writeln('Введите строку:'); {вводим строку}
readln(s);
b := ''; {пока строка букв пустая}
while length(s) > 0 do {потрошим строку}
begin
c := s[1]; {запоминаем первый символ}
while pos(c, s) > 0 do delete(s, pos(c, s), 1); {и удаляем все символы, равные первому}
if c in ['A'..'Z', 'a'..'z', 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё'] then b := b + c + ',' {если символ - буква, добавляем букву и запятую к строке букв}
end;
if length(b) > 0 {если длина строки букв больше 0}
then begin
delete(b, length(b), 1); {убираем последнюю запятую}
writeln('Буквы, которые содержатся в тексте: ', b) {печатаем результат}
end
else writeln('Текст не содержит букв') {иначе выдаём сообщение, что букв нет}
end.
Объяснение кода листинга программы
- В начале объявляются переменные s, b и c типа string и char соответственно.
- Затем выводится сообщение для ввода строки.
- С помощью функции readln() считывается введенная пользователем строка.
- Переменная b инициализируется пустой строкой.
- Запускается цикл while, который будет выполняться до тех пор, пока длина строки s больше 0.
- Внутри цикла считывается первый символ строки s и сохраняется в переменной c.
- Затем происходит удаление всех символов из строки s, которые равны первому символу c, с помощью функции pos() и оператора delete().
- Проверяется, является ли символ c буквой. Если да, то он добавляется к строке b с помощью оператора concat().
- После выхода из цикла while выполняется проверка длины строки b.
- Если длина строки b больше 0, то удаляется последняя запятая с помощью функции delete().
- Выводится сообщение с результатом, которое может быть в виде списка букв, разделенных запятыми.
- Если после выполнения всех действий текст не содержит букв, выводится соответствующее сообщение.