Переставить слова в каждом предложении в обратном порядке - Pascal

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

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

Листинг программы
  1. function perest(pred:string):string;
  2. var
  3. mas:array[1..50] of string;
  4. r,k:integer;
  5. t,w1,w:string;
  6. begin
  7. for r:=1 to 50 do
  8. mas[r]:=' ';
  9. w:=' ';
  10. w1:=' ';
  11. k:=1;
  12. t:=' ';
  13. pred:=pred+' ';
  14. for r:=1 to length(pred) do
  15. if pred[r]=' ' then
  16. begin
  17. if t<>' ' then
  18. begin
  19. mas[k]:=t;
  20. t:=' ';
  21. k:=k+1;
  22. end;
  23. end
  24. else
  25. t:=t+pred[r];
  26. k:=k-1;
  27. for r:=1 to (k div 2) do
  28. begin
  29. w1:=mas[r];
  30. mas[r]:=mas[k-r+1];
  31. mas[k-r+1]:=w1;
  32. end;
  33. w:=mas[1];
  34. for r:=2 to k do
  35. w:=w+' '+mas[r];
  36. w:=w+'.';
  37. perest:=w;
  38. end;
  39. var s,vrem,predl:string;
  40. i:integer;
  41. begin
  42. write('Введите предложения: ');
  43. readln(s);
  44. s:=s+'.';
  45. vrem:=' ';
  46. predl:=' ';
  47. for i:=1 to length(s) do
  48. if (s[i]='.') then
  49. begin
  50. predl:=predl+perest(vrem);
  51. vrem:=' ';
  52. end
  53. else
  54. vrem:=vrem+s[i];
  55. write(predl);
  56. end.
Нужно переделать без функшон и без процедур) Задание следующее: Считая что число предложений и число строк могут не совпадать каждое слово находится целиком в одной строке ввод строки завершается нажатием энтер точка конец предложения Переставить слова в каждом предложении в обратном порядке заранее благодарен

Решение задачи: «Переставить слова в каждом предложении в обратном порядке»

textual
Листинг программы
  1. var
  2.  pred,perest: string;
  3.  mas:array[1..50] of string;
  4.  r,k:integer;
  5.  t,w1,w:string;
  6.  
  7. var s,vrem,predl:string;
  8.  i:integer;
  9. begin
  10.  write('Введите предложения: ');
  11.  readln(s);
  12.  s:=s+'.';
  13.  vrem:=' ';
  14.  predl:=' ';
  15.  for i:=1 to length(s) do
  16.    if (s[i]='.') then begin
  17.     //*******
  18.          pred := vrem;
  19.        for r:=1 to 50 do
  20.        mas[r]:=' ';
  21.        w:=' ';
  22.        w1:=' ';
  23.        k:=1;
  24.        t:=' ';
  25.        pred:=pred+' ';
  26.        for r:=1 to length(pred) do
  27.        if pred[r]=' ' then
  28.        begin
  29.        if t<>' ' then
  30.        begin
  31.        mas[k]:=t;
  32.        t:=' ';
  33.        k:=k+1;
  34.        end;
  35.        end
  36.        else
  37.        t:=t+pred[r];
  38.        k:=k-1;
  39.        for r:=1 to (k div 2) do
  40.        begin
  41.        w1:=mas[r];
  42.        mas[r]:=mas[k-r+1];
  43.        mas[k-r+1]:=w1;
  44.        end;
  45.        w:=mas[1];
  46.        for r:=2 to k do
  47.        w:=w+' '+mas[r];
  48.        w:=w+'.';
  49.        perest:=w;
  50.     //*******
  51.     writeln(predl+perest);
  52.      predl:='';
  53.      vrem:=' ';
  54.    end else
  55.     vrem:=vrem+s[i];
  56.  write(predl);
  57.  
  58. end.

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

  1. Объявление переменных:
    • pred, perest, mas, r, k, t, w1, w, s, vrem, predl, i.
  2. Ввод предложений:
    • Вводится строка предложений (s) с клавиатуры.
  3. Добавление точки в конец строки:
    • Добавляется точка в конец строки (s).
  4. Инициализация временных переменных:
    • vrem и predl инициализируются пустыми строками.
  5. Итерация по символам в строке:
    • Происходит итерация по всем символам в строке (s).
  6. Выделение предложения:
    • Если текущий символ - точка, то происходит выделение предложения в переменную pred, после чего зануляются значения элементов массива mas и других временных переменных.
  7. Разбиение предложения на слова:
    • Предложение разбивается на отдельные слова и помещается в массив mas.
  8. Перестановка слов в обратном порядке:
    • Слова в массиве mas переставляются в обратном порядке.
  9. Составление предложения:
    • Слова из массива mas собираются в предложение w, которое помещается в переменную perest.
  10. Вывод переставленных предложений:
    • Выводится переставленное предложение в формате predl+perest.
  11. Обнуление временных переменных:
    • Обнуляются переменные predl и vrem для следующей итерации.
  12. Вывод оставшегося предложения:
    • Выводится оставшееся предложение после последней точки.

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


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

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

14   голосов , оценка 4.143 из 5

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

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

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