Примеры задач

Множества


Составить программу печати всех символов заданного текста, входящих в него по одному разу.

Методика решения

Пример:
Дан текст: ‘Я пишу программу на Паскале’.
Один раз встречаются символы: «Я», «и», «ш», «о», «г», «н», «с», «к», «л», «е».

Используемые переменные:
m – множество символов;
st – строка, в которую считывается текст;
I – параметр цикла.

Для начала считываем с экрана строку.
Затем просматриваем с помощью цикла элементы строки, объединяем каждый символ строки с множеством m . Таким образом, в множестве окажутся все символы, входящие в строку по одному разу.
Выводим на экран элементы множества. Для этого снова просматриваем символы строки, проверяем, есть ли символ в множестве, если есть, то выводим его на экран и удаляем из множества ( m:=m-st[i] ).

Листинг программы

Program ex5_1;
Uses Crt;
Var st:String; i:byte; m:set of char;
BEGIN
clrscr;
writeln('Введите строку');
readln(st);
writeln('Результат');
for i:=1 to length(st) do
m:=m+[st[i]];
for i:=1 to length(st) do
if st[i] in m then
begin
write(st[i]);
m:=m-[st[i]];
end;
Readkey;
End.

Запустить программу






Назад