Найти и вывеести на экран группы с четным количеством символов. - Pascal ABC
Формулировка задачи:
Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими про-белами. Найдите и выведите на экран группы с четным количеством символов.
Решение задачи: «Найти и вывеести на экран группы с четным количеством символов.»
textual
Листинг программы
var c:char; s,s1:string; n,i,j,k:byte; begin writeln('Введите строку из 0,1 и пробелов, окончание ввода Enter'); s:=''; repeat c:=readkey; if c in ['0','1',' '] then begin write(c); s:=s+c; end; if c=#13 then writeln; until c=#13; n:=length(s); k:=0; i:=1; while i<n do if(s[i]<>' ')and((i=1)or(s[i-1]=' ')) then begin s1:=''; j:=i; while(j<=n)and(s[j]<>' ') do begin s1:=s1+s[j]; j:=j+1; end; if length(s1)mod 2=0 then begin writeln(s1); k:=1; end; i:=i+length(s1); end else i:=i+1; if k=0 then write('Нет групп четной длины'); end.
Объяснение кода листинга программы
- Ввод строки из 0,1 и пробелов, окончание ввода Enter.
- Создание переменной s и установка ее значения в пустую строку.
- Цикл repeat, который будет выполняться до тех пор, пока введенный символ не будет равен #13 (Enter).
- Внутри цикла проверяется, является ли введенный символ одним из допустимых (0, 1 или пробел). Если это так, то символ добавляется к строке s и выполняется повторный цикл.
- После ввода последнего символа, выполняется проверка на наличие групп четной длины.
- Если длина строки s четная, то выводится строка s1, и переменная k устанавливается равной 1.
- Если длина строки s нечетная, то выполняется дополнительная проверка на наличие групп четной длины.
- Если группа символов имеет четную длину, то выводится строка s1.
- Переменная k устанавливается равной 1.
- Если группа символов не имеет четной длины, то выводится сообщение
Нет групп четной длины
. - Цикл while, который выполняется до тех пор, пока переменная i меньше длины строки s и последний символ в строке s не равен пробелу.
- Внутри цикла проверяется, является ли текущий символ в строке s допустимым (0, 1 или пробел).
- Если это так, то символ добавляется к строке s1, и переменная j устанавливается равной i.
- Пока переменная j меньше или равна длине строки s и последний символ в строке s равен пробелу, выполняется повторный цикл.
- Внутри повторного цикла проверяется, является ли текущий символ в строке s1 допустимым (0, 1 или пробел).
- Если это так, то символ добавляется к строке s1, и переменная j устанавливается равной j+1.
- Если последний символ в строке s1 равен пробелу, то выполняется проверка на наличие групп четной длины.
- Если группа символов имеет четную длину, то выводится строка s1.
- Переменная k устанавливается равной 1.
- Если группа символов не имеет четной длины, то выполняется дополнительная проверка на наличие групп четной длины.
- Если группа символов имеет четную длину, то выводится сообщение
Нет групп четной длины
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д