
Составить процедуру, выводящую слова перевёртыши из заданного предложения.Pascal


Ответы на вопрос

PS. Слова в предложении отделяются друг от друга одним пробелом.
procedure per(s:string);
var s1,s2:string;
i:integer;
begin
s:=s+' ';
s1:='';
s2:='';
for i:=1 to length(s) do
if s[i]<>' ' then
begin
s1:=s1+s[i];
s2:=s[i]+s2;
end
else begin
if s1=s2 then writeln(s1);
s1:='';
s2:='';
end;
end;
begin
per('это шалаш или нет');
end.
Результат:
шалаш
или



Для написания процедуры на Pascal, которая будет выводить слова-перевёртыши из заданного предложения, следуйте этим шагам:
- Разбейте предложение на отдельные слова.
- Для каждого слова проверьте, является ли оно перевёртышем (палиндромом).
- Выведите все найденные перевёртыши.
Вот пример реализации этой процедуры на Pascal:
pascalprogram PalindromesInSentence; uses SysUtils; // Функция, проверяющая, является ли строка палиндромом function IsPalindrome(str: string): boolean; var i, j: integer; begin j := Length(str); for i := 1 to Length(str) div 2 do begin if str[i] <> str[j] then begin Result := false; Exit; end; Dec(j); end; Result := true; end; // Процедура, выводящая слова-перевёртыши из заданного предложения procedure FindPalindromesInSentence(sentence: string); var word, delimiters: string; i, start, len: integer; begin delimiters := ' ,.!?;:'; // Можно добавить другие разделители, если необходимо sentence := Trim(sentence); i := 1; while i <= Length(sentence) do begin while (i <= Length(sentence)) and (Pos(sentence[i], delimiters) > 0) do Inc(i); start := i; len := 0; while (i <= Length(sentence)) and (Pos(sentence[i], delimiters) = 0) do begin Inc(i); Inc(len); end; word := Copy(sentence, start, len); if IsPalindrome(word) then WriteLn(word); end; end; var inputSentence: string; begin WriteLn('Введите предложение:'); ReadLn(inputSentence); WriteLn('Слова-перевёртыши в предложении:'); FindPalindromesInSentence(inputSentence); end.
Программа предлагает пользователю ввести предложение, затем находит и выводит все слова-перевёртыши в данном предложении. Обратите внимание, что знаки препинания ("," ".", "!", "?", ";", ":") считаются разделителями слов. Вы можете изменить строку delimiters
и добавить или удалить разделители в соответствии с вашими потребностями.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili