Вопрос задан 23.07.2023 в 14:41. Предмет Информатика. Спрашивает Давыдов Данил.

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

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Абдуллин Артём.

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.

Результат:

шалаш

или

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для написания процедуры на Pascal, которая будет выводить слова-перевёртыши из заданного предложения, следуйте этим шагам:

  1. Разбейте предложение на отдельные слова.
  2. Для каждого слова проверьте, является ли оно перевёртышем (палиндромом).
  3. Выведите все найденные перевёртыши.

Вот пример реализации этой процедуры на Pascal:

pascal
program 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 и добавить или удалить разделители в соответствии с вашими потребностями.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос