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