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