Составить множество символов текста - Pascal ABC
Формулировка задачи:
Помогите решить задачку
Дан текст. Составить множество символов, из которых он составлен. Повторяющиеся символы учитывать один раз.
Решение задачи: «Составить множество символов текста»
textual
Листинг программы
var s:string;//текст
m:set of char;//множество символов
i:byte;
begin
writeln('Введите текст');
readln(s);
m:=[];
for i:=1 to length(s) do
if not(s[i] in m) then m:=m+[s[i]];
//вывод множества
for i:=0 to 255 do
if chr(i) in m then write(chr(i));
end.
Объяснение кода листинга программы
- Создаётся переменная
sтипаstring, которая представляет собой строку для ввода текста. - Создаётся переменная
mтипаset of char, которая представляет собой множество символов. Изначально это пустое множество. - Создаётся переменная
iтипаbyte, которая представляет собой байт, используемый для цикла. - Выводится сообщение
Введите текст. - С помощью функции
readln(s)считывается введенный пользователем текст и сохраняется в переменнойs. - Инициализируется пустое множество
mс помощью оператораm := []. - Запускается цикл
for i := 1 to length(s)(для каждого символа в тексте). - Внутри цикла проверяется, содержится ли текущий символ в множестве
m. Если нет, то он добавляется в множествоmс помощью оператораm := m + [s[i]]. - После завершения цикла выводится сообщение
Вывод множества. - Запускается цикл
for i := 0 to 255(для каждого символа в множествеm). - Внутри цикла проверяется, содержится ли текущий символ в множестве
m. Если да, то он выводится с помощью функцииwrite(chr(i))(в виде ASCII-кода). - После завершения цикла выводится сообщение
Конец вывода множества. - Конец программы.