Построить множество символов, встречающихся в строке ровно 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.
Объяснение кода листинга программы
- В начале объявляются переменные: m - множество символов, c - массив байтов, i - целое число, s - строка.
- Пользователю предлагается ввести строку.
- Создается пустое множество m.
- Запускается цикл for для каждого символа в строке s.
- На каждой итерации увеличивается значение соответствующего элемента массива c.
- Проверяется, сколько раз текущий символ встречается в строке.
- Если символ встречается ровно 2 раза, то он добавляется в множество m.
- Если символ встречается больше 2 раз, то он исключается из множества m.
- После завершения цикла выводится множество m.
- Выводится сообщение
Set:[
с пробелом. - Запускается цикл for для каждого символа в диапазоне от 0 до 255.
- Если текущий символ присутствует в множестве m, то он выводится на экран с помощью функции write, при этом перед ним добавляется пробел.
- Выводится закрывающая скобка
]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д