Сформировать новую строку, в которую включить все слова, длиной не более 4 символов - Pascal ABC

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

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

Дана строка, состоящая из слов, разделенных пробелами. Сформировать новую строку, в которую включить все слова, длиной не более 4 символов.

Решение задачи: «Сформировать новую строку, в которую включить все слова, длиной не более 4 символов»

textual
Листинг программы
  1. var s,s1,s2:string;
  2.     i,j,n:integer;
  3. begin
  4. writeln('Введите строку из слов, разделенных пробелами');
  5. readln(s);
  6. n:=length(s);
  7. s2:='';
  8. i:=1;
  9. while i<=n do
  10. if (s[i]<>' ')and((i=1)or(s[i-1]=' '))then
  11.  begin
  12.   j:=i;
  13.   s1:='';
  14.   while(s[j]<>' ')and(j<=n) do
  15.    begin
  16.     s1:=s1+s[j];
  17.     j:=j+1;
  18.    end;
  19.   if length(s1)<5 then s2:=s2+s1+' ';
  20.   i:=i+length(s1);
  21.  end
  22. else i:=i+1;
  23. if s2='' then write('Нет слов из 1..4 символов')
  24. else write(s2);
  25. end.

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

  1. В начале объявляются переменные s, s1 и s2 типа string, а также переменные i, j и n типа integer.
  2. Затем выводится сообщение для ввода строки из слов, разделенных пробелами.
  3. Переменная n инициализируется значением длины введенной строки.
  4. Создается пустая строка s2.
  5. Переменная i инициализируется значением 1.
  6. Запускается цикл while, который выполняется до тех пор, пока i меньше или равно n.
  7. Внутри цикла проверяется условие: если текущий символ в строке s[i] не является пробелом и либо предыдущий символ в строке равен пробелу, то...
  8. ...создается новая строка s1, которая представляет собой все символы до текущего символа включительно.
  9. Переменная j инициализируется значением i.
  10. Запускается вложенный цикл while, который выполняется до тех пор, пока j меньше или равно n и символ в строке s[j] не является пробелом.
  11. Внутри вложенного цикла проверяется условие: если длина строки s1 меньше 5, то к строке s1 добавляется символ из строки s[j], и j увеличивается на 1.
  12. После окончания вложенного цикла переменная i увеличивается на длину строки s1.
  13. Если строка s2 осталась пустой, то выводится сообщение Нет слов из 1..4 символов.
  14. else выводится значение переменной s2.

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


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

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

9   голосов , оценка 3.778 из 5

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

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

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