Примеры задач
Множества
Составить программу печати всех символов заданного текста, входящих в него по одному разу. Методика решения
Пример:
Дан текст: ‘Я пишу программу на Паскале’.
Один раз встречаются символы: «Я», «и», «ш», «о», «г», «н», «с», «к», «л», «е».
Используемые переменные:
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.