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

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

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

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

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

textual
Листинг программы
  1. procedure revers(k:byte;var s,sl:string);
  2. var i:byte;
  3.     c:char;
  4. begin
  5. for i:=1 to length(sl) div 2 do
  6.  begin
  7.   c:=sl[i];
  8.   sl[i]:=sl[length(sl)-i+1];
  9.   sl[length(sl)-i+1]:=c;
  10.  end;
  11. delete(s,k,length(sl));
  12. insert(sl,s,k);
  13. end;
  14. var s,sl:string;
  15.     n,i,k:byte;
  16. begin
  17. writeln('Введите предложение, слова разделены пробелами, в конце точка');
  18. readln(s);
  19. repeat
  20. write('n>0 n=');
  21. readln(n);
  22. until n>0;
  23. sl:='';
  24. k:=0;
  25. for i:=1 to length(s) do
  26. if not(s[i] in [' ','.']) then sl:=sl+s[i]
  27. else
  28.  begin
  29.   k:=k+1;
  30.   if k mod n=0 then revers(i-length(sl),s,sl);
  31.   sl:='';
  32.  end;
  33. if k<n then write('В строке нет ',n,' слов')
  34. else write(s)
  35. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы