Проверить, верно ли, что в данной строке всякое несимметричное слово имеет чётную длину - Pascal
Формулировка задачи:
Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими).
Проверить, верно ли, что в данной строке всякое несимметричное слово имеет четную длину.
P.S.
Тип данных string.
Не использовать стандартные функции работы со строками, в том числе IntToStr,
FloatToStr, StrToInt и StrToFloat (можно только Length).
P.S('2')
Помогите если не трудно
Решение задачи: «Проверить, верно ли, что в данной строке всякое несимметричное слово имеет чётную длину»
textual
Листинг программы
var s, w, r: string; i: integer; f: boolean; begin writeln('Введите строку:'); readln(s); s := s + ' '; w := ''; r := ''; f := true; for i := 1 to length(s) do if s[i] = ' ' then begin f := f and ((w = r) >= odd(length(w))); w := ''; r := '' end else begin w := w + s[i]; r := s[i] + r end; if f then write('В') else write('Не в'); write('сякое несимметричное слово имеет чётную длину'); readln end.
Объяснение кода листинга программы
- Объявляются переменные:
s
,w
,r
: строкового типа;i
: целочисленного типа;f
: логического типа.
- Выводится сообщение
Введите строку:
. - Вводится строка и сохраняется в переменную
s
. - К переменной
s
добавляется пробел. - Создаются пустые строки
w
иr
. - Устанавливается значение переменной
f
какtrue
. - Выполняется цикл для каждого символа в строке
s
:- Если текущий символ равен пробелу, то:
- Вычисляется значение переменной
f
, умножая текущее значениеf
на результат логического выражения ((w = r) >= odd(length(w))); - Обнуляются строки
w
иr
.
- Вычисляется значение переменной
- В противном случае:
- Добавляется текущий символ к строке
w
. - Текущий символ добавляется в начало строки
r
.
- Добавляется текущий символ к строке
- Если текущий символ равен пробелу, то:
- В зависимости от значения переменной
f
выводится сообщениеВсякое несимметричное слово имеет чётную длину
илиНе всякое несимметричное слово имеет чётную длину
. - Ожидается нажатие клавиши для завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д