Найти и вывеести на экран группы с четным количеством символов. - 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.

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

  1. Ввод строки из 0,1 и пробелов, окончание ввода Enter.
  2. Создание переменной s и установка ее значения в пустую строку.
  3. Цикл repeat, который будет выполняться до тех пор, пока введенный символ не будет равен #13 (Enter).
  4. Внутри цикла проверяется, является ли введенный символ одним из допустимых (0, 1 или пробел). Если это так, то символ добавляется к строке s и выполняется повторный цикл.
  5. После ввода последнего символа, выполняется проверка на наличие групп четной длины.
  6. Если длина строки s четная, то выводится строка s1, и переменная k устанавливается равной 1.
  7. Если длина строки s нечетная, то выполняется дополнительная проверка на наличие групп четной длины.
  8. Если группа символов имеет четную длину, то выводится строка s1.
  9. Переменная k устанавливается равной 1.
  10. Если группа символов не имеет четной длины, то выводится сообщение Нет групп четной длины.
  11. Цикл while, который выполняется до тех пор, пока переменная i меньше длины строки s и последний символ в строке s не равен пробелу.
  12. Внутри цикла проверяется, является ли текущий символ в строке s допустимым (0, 1 или пробел).
  13. Если это так, то символ добавляется к строке s1, и переменная j устанавливается равной i.
  14. Пока переменная j меньше или равна длине строки s и последний символ в строке s равен пробелу, выполняется повторный цикл.
  15. Внутри повторного цикла проверяется, является ли текущий символ в строке s1 допустимым (0, 1 или пробел).
  16. Если это так, то символ добавляется к строке s1, и переменная j устанавливается равной j+1.
  17. Если последний символ в строке s1 равен пробелу, то выполняется проверка на наличие групп четной длины.
  18. Если группа символов имеет четную длину, то выводится строка s1.
  19. Переменная k устанавливается равной 1.
  20. Если группа символов не имеет четной длины, то выполняется дополнительная проверка на наличие групп четной длины.
  21. Если группа символов имеет четную длину, то выводится сообщение Нет групп четной длины.
  22. Конец программы.

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


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

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

5   голосов , оценка 5 из 5
Похожие ответы