Определить в тексте слова, которые можно читать слева направо и справа налево (Анна, шалаш и т.д.). - Pascal
Формулировка задачи:
Помогите пожалуста решить.
Задача: Определить в тексте слова, которые можно читать слева направо и справа налево (Анна, шалаш и т.д.).
Решение задачи: «Определить в тексте слова, которые можно читать слева направо и справа налево (Анна, шалаш и т.д.).»
textual
Листинг программы
uses crt; var t1,t2,t3,t4:string; k,i,j:integer; mn:set of char; function position(t:string) : integer; var i:integer; begin i:=0; repeat inc(i); until t[i] in mn; position:=i; end; begin clrscr; writeln('vvedi text'); readln(t1); if t1[length(t1)] <> ' ' then t1:=t1+' '; mn:=[' ',',','.','!','?',':',';']; t2:=''; t3:=''; t4:=''; while t1<>'' do begin k:=position(t1); t2:=copy(t1,1,k-1); t3:=''; for i:=length(t2) downto 1 do t3:=t3+t2[i]; if t2=t3 then writeln('clovo ',t2 ,'- polindrom'); delete(t1,1,k); end; readkey; end.
Объяснение кода листинга программы
Этот код написан на языке Pascal и выполняет следующие действия:
- Объявляет переменные
t1
,t2
,t3
иt4
типаstring
для хранения текста. - Объявляет переменные
k
,i
иj
типаinteger
для хранения числовых значений. - Создает набор
mn
типаset of char
для хранения символов, которые могут быть использованы в качестве начальных символов слов. - Определяет функцию
position(t:string)
которая возвращает позицию первого вхождения символа из набораmn
в строкеt
. - В основной части кода:
- Выводит приглашение для ввода текста.
- Если последний символ введенного текста не является пробелом, добавляет пробел в конец текста.
- Инициализирует набор
mn
с помощью символов пробела, запятой, точки,! и ?. - Инициализирует переменные
t2
,t3
иt4
пустыми строками. - В цикле, пока текст не будет пустым:
- Вычисляет позицию первого символа, который может быть использован в качестве начального символа слова.
- Копирует первые
k-1
символов изt1
вt2
. - Инициализирует переменную
t3
пустой строкой. - В цикле, пока длина
t2
больше 1: - Добавляет последний символ
t2
кt3
. - Уменьшает длину
t2
на 1. - Если
t2
совпадает сt3
, выводит сообщение о том, что это слово является полиндромом. - Удаляет первый символ из
t1
.
- Ждет ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д