Найти и вывеести на экран группы с четным количеством символов. - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими про-белами. Найдите и выведите на экран группы с четным количеством символов.

Решение задачи: «Найти и вывеести на экран группы с четным количеством символов.»

textual
Листинг программы
  1. var c:char;
  2.     s,s1:string;
  3.     n,i,j,k:byte;
  4. begin
  5. writeln('Введите строку из 0,1 и пробелов, окончание ввода Enter');
  6. s:='';
  7. repeat
  8. c:=readkey;
  9. if c in ['0','1',' '] then
  10.  begin
  11.   write(c);
  12.   s:=s+c;
  13.  end;
  14. if c=#13 then writeln;
  15. until c=#13;
  16. n:=length(s);
  17. k:=0;
  18. i:=1;
  19. while i<n do
  20. if(s[i]<>' ')and((i=1)or(s[i-1]=' ')) then
  21.  begin
  22.   s1:='';
  23.   j:=i;
  24.   while(j<=n)and(s[j]<>' ') do
  25.    begin
  26.     s1:=s1+s[j];
  27.     j:=j+1;
  28.    end;
  29.   if length(s1)mod 2=0 then
  30.    begin
  31.     writeln(s1);
  32.     k:=1;
  33.    end;
  34.   i:=i+length(s1);
  35.  end
  36. else i:=i+1;
  37. if k=0 then write('Нет групп четной длины');
  38. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы