Найти и вывеести на экран группы с четным количеством символов. - 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.
- Если группа символов не имеет четной длины, то выполняется дополнительная проверка на наличие групп четной длины.
- Если группа символов имеет четную длину, то выводится сообщение
Нет групп четной длины
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д