Построить множество символов, встречающихся в строке ровно 2 раза - Turbo Pascal

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

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

Вводится строка. Пройдя по данной строке 1 раз (без вложенных циклов) построить множество символов, встречающихся в ней ровно 2 раза.

Решение задачи: «Построить множество символов, встречающихся в строке ровно 2 раза»

textual
Листинг программы
var
  m:set of char;
  c:array[char] of byte;
  i:integer;
  s:string;
begin
  write('Enter string>');
  readln(s);
  m:=[];
  for i:=1 to length(s) do begin
    inc(c[s[i]]);
    if c[s[i]]=2 then Include(m,s[i]) else if c[s[i]]>2 then Exclude(m,s[i]);
  end;
  write('Set:[');
  for i:=0 to 255 do
    if chr(i) in m then write(#32+chr(i));
  writeln(']');
end.

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

  1. В начале объявляются переменные: m - множество символов, c - массив байтов, i - целое число, s - строка.
  2. Пользователю предлагается ввести строку.
  3. Создается пустое множество m.
  4. Запускается цикл for для каждого символа в строке s.
  5. На каждой итерации увеличивается значение соответствующего элемента массива c.
  6. Проверяется, сколько раз текущий символ встречается в строке.
  7. Если символ встречается ровно 2 раза, то он добавляется в множество m.
  8. Если символ встречается больше 2 раз, то он исключается из множества m.
  9. После завершения цикла выводится множество m.
  10. Выводится сообщение Set:[ с пробелом.
  11. Запускается цикл for для каждого символа в диапазоне от 0 до 255.
  12. Если текущий символ присутствует в множестве m, то он выводится на экран с помощью функции write, при этом перед ним добавляется пробел.
  13. Выводится закрывающая скобка ].

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


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

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

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