Написать подпрограмму, которая отображает каждое N-е слово в предложении зеркально - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Помогите пожалуйста. Написать подпрограмму, которая отображает каждое N-е слово в предложении зеркально.

Решение задачи: «Написать подпрограмму, которая отображает каждое N-е слово в предложении зеркально»

textual
Листинг программы
procedure revers(k:byte;var s,sl:string);
var i:byte;
    c:char;
begin
for i:=1 to length(sl) div 2 do
 begin
  c:=sl[i];
  sl[i]:=sl[length(sl)-i+1];
  sl[length(sl)-i+1]:=c;
 end;
delete(s,k,length(sl));
insert(sl,s,k);
end;
var s,sl:string;
    n,i,k:byte;
begin
writeln('Введите предложение, слова разделены пробелами, в конце точка');
readln(s);
repeat
write('n>0 n=');
readln(n);
until n>0;
sl:='';
k:=0;
for i:=1 to length(s) do
if not(s[i] in [' ','.']) then sl:=sl+s[i]
else
 begin
  k:=k+1;
  if k mod n=0 then revers(i-length(sl),s,sl);
  sl:='';
 end;
if k<n then write('В строке нет ',n,' слов')
else write(s)
end.

Объяснение кода листинга программы

  1. Создается процедура revers, которая принимает два параметра: k - номер слова, которое нужно отобразить зеркально, и sl - исходное предложение, в котором нужно отобразить это слово зеркально.
  2. Внутри процедуры используется цикл for, который проходит по каждому символу в предложении sl.
  3. На каждой итерации цикла происходит следующее:
    • Слово sl[i] выводится на экран.
    • Строка sl изменяется таким образом, чтобы текущий символ sl[i] был перемещен в конец строки.
    • Строка sl снова изменяется таким образом, чтобы текущий символ sl[i] был перемещен в начало строки.
  4. После завершения цикла for удаляется слово s[i] из исходной строки s.
  5. Если в исходной строке s осталось меньше слов, чем указано в параметре n, то выводится сообщение об этом.
  6. В противном случае выводится исходная строка s.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы