Сформировать новую строку, в которую включить все слова, длиной не более 4 символов - Pascal ABC
Формулировка задачи:
Дана строка, состоящая из слов, разделенных пробелами. Сформировать новую строку, в
которую включить все слова, длиной не более 4 символов.
Решение задачи: «Сформировать новую строку, в которую включить все слова, длиной не более 4 символов»
textual
Листинг программы
var s,s1,s2:string; i,j,n:integer; begin writeln('Введите строку из слов, разделенных пробелами'); readln(s); n:=length(s); s2:=''; i:=1; while i<=n do if (s[i]<>' ')and((i=1)or(s[i-1]=' '))then begin j:=i; s1:=''; while(s[j]<>' ')and(j<=n) do begin s1:=s1+s[j]; j:=j+1; end; if length(s1)<5 then s2:=s2+s1+' '; i:=i+length(s1); end else i:=i+1; if s2='' then write('Нет слов из 1..4 символов') else write(s2); end.
Объяснение кода листинга программы
- В начале объявляются переменные s, s1 и s2 типа string, а также переменные i, j и n типа integer.
- Затем выводится сообщение для ввода строки из слов, разделенных пробелами.
- Переменная n инициализируется значением длины введенной строки.
- Создается пустая строка s2.
- Переменная i инициализируется значением 1.
- Запускается цикл while, который выполняется до тех пор, пока i меньше или равно n.
- Внутри цикла проверяется условие: если текущий символ в строке s[i] не является пробелом и либо предыдущий символ в строке равен пробелу, то...
- ...создается новая строка s1, которая представляет собой все символы до текущего символа включительно.
- Переменная j инициализируется значением i.
- Запускается вложенный цикл while, который выполняется до тех пор, пока j меньше или равно n и символ в строке s[j] не является пробелом.
- Внутри вложенного цикла проверяется условие: если длина строки s1 меньше 5, то к строке s1 добавляется символ из строки s[j], и j увеличивается на 1.
- После окончания вложенного цикла переменная i увеличивается на длину строки s1.
- Если строка s2 осталась пустой, то выводится сообщение
Нет слов из 1..4 символов
. - else выводится значение переменной s2.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д