Указать слова строки, которые содержат хотя бы одну букву k - Pascal ABC
Формулировка задачи:
дана строка. указать те слова, которые содержат хотя бы одну букву k
Решение задачи: «Указать слова строки, которые содержат хотя бы одну букву k»
textual
Листинг программы
var s1, s2 : string; s, i, j : integer; begin Writeln('Введите текст:'); Readln(s1); j:= Ord(s1[0]); Insert(' ', s1, j+1); s:= 0; repeat j:= Pos('к', s1); i:= Pos(' ', s1); if (i>j) and (j<>0) then begin s:= s + 1; s2:= Copy(s1, 1, i-1); Writeln(s2); Delete(s1, 1, i); end else Delete(s1, 1, i); until i = 0; Writeln('Искомое количество слов s = ', s); end.
Объяснение кода листинга программы
- Введите текст:
- Ввод текста осуществляется через переменную s1.
- Вычисляется позиция первой буквы введенного текста:
- Переменная j содержит позицию первой буквы введенного текста.
- Вставляется пробел перед первой буквой введенного текста:
- Переменная s1 изменяется путем вставки пробела перед первой буквой.
- Инициализируется переменная s:
- Переменная s устанавливается в 0.
- Начинается цикл, который выполняется до тех пор, пока переменная i не станет равной 0:
- Цикл повторяется, пока найдено хотя бы одно слово, содержащее букву
к
.
- Цикл повторяется, пока найдено хотя бы одно слово, содержащее букву
- Внутри цикла выполняется следующая последовательность действий:
- Проверяется, является ли текущая позиция (i) последней позицией в слове.
- Если текущая позиция (i) не является последней позицией в слове и текущая позиция (i) больше 0, то:
- Переменная s увеличивается на 1.
- Переменная s2 устанавливается в подстроку s1, начиная с позиции i-1 и заканчивая позицией j-1.
- Выводится подстрока s2.
- Переменная s1 изменяется путем удаления подстроки s2 из начала.
- По завершении цикла выводится искомое количество слов:
- Выводится значение переменной s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д