Проверить повторяется ли в предложении первое слово - Pascal ABC
Формулировка задачи:
Здравствуйте, помогите написать программу которая проверяет повторяется ли в предложении первое слово. Главное не использую массив из слов. Заранее благодарю.
Решение задачи: «Проверить повторяется ли в предложении первое слово»
textual
Листинг программы
var a,b:string; begin write('Enter string:');readln(a); b:=',./;:!'; while b<>'' do begin while pos(b[1],a)>0 do a[pos(b[1],a)]:=' '; delete(b,1,1); end; while pos(' ',a)>0 do delete(a,pos(' ',a),1); b:=copy(a,1,pos(' ',a)-1); delete(a,1,pos(' ',a)); writeln(a); writeln(b); if pos(b,a)>0 then write('YES')else write('NO'); end.
Объяснение кода листинга программы
- Создаются две переменные типа string: a и b.
- Пользователю предлагается ввести строку. Эта строка сохраняется в переменной a.
- Строка b инициализируется как ',./;:!'. Это просто строка символов, которая не изменяется в течение выполнения программы.
- Затем начинается цикл while, который продолжается до тех пор, пока строка b не станет пустой.
- Внутри цикла while выполняется другой цикл while. Он проверяет, содержит ли строка b какой-либо символ из строки a. Если да, то этот символ заменяется на пробел. Затем из строки b удаляется символ, который был только что заменен.
- После завершения внутреннего цикла while выполняется еще один цикл while. Он проверяет, содержит ли строка a какой-либо символ из строки b. Если да, то этот символ заменяется на пробел. Затем из строки a удаляется символ, который был только что заменен.
- Наконец, строка b копируется из строки a, начиная с первого символа и до тех пор, пока последний символ в строке b не будет совпадать с последним символом в строке a. Затем строка a удаляется, оставляя только строку b.
- Выводится строка b.
- Выводится сообщение, указывающее, повторяется ли первое слово в предложении. Если строка b не пустая, то выводится 'YES', иначе выводится 'NO'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д