Ввести последовательность из латинских букв и цифр - Pascal ABC
Формулировка задачи:
Ввести последовательность из латинских букв и цифр. Сформировать множество, состоящее из гласных букв и множество, состоящее из четных чисел. Элементы первого множества вывести в алфавитном порядке, элементы второго множества вывести в порядке убывания.
Решение задачи: «Ввести последовательность из латинских букв и цифр»
textual
Листинг программы
var letters:set of 'a'..'z';
digits:set of 0..9;
c:char;
n,i:integer;
s:string;
BEGIN
Letters:=[];
Digits:=[];
Readln(s);
For i:=1 to Length (s) do begin
c:=s[i];
IF c in ['a'..'z'] THEN Letters:=Letters+[c]
ELSE begin
n:=ord(c)-ord('0');
IF n mod 2 = 0 THEN Digits:=Digits+[n];
end;
end;
For c:='a' to 'z' do
IF c in Letters THEN Write (c, ' ');
Writeln ;
For n:=9 downto 0 do
IF n in Digits THEN Write (n, ' ');
END.
Объяснение кода листинга программы
- Создаются два множества символов:
letters(буквы) иdigits(цифры). - Создается пустая строка
s. - Пользователю предлагается ввести строку. Введенная строка сохраняется в переменной
s. - Строка
sобрабатывается построчно. - На каждой строке берется символ
c. - Проверяется, является ли символ буквой. Если да, то он добавляется в множество
letters. - Если символ не является буквой, то вычисляется его порядковый номер в алфавите (от 0 до 25) и, если он делится на 2 без остатка, то добавляется в множество
digits. - После обработки всех символов выводятся все буквы и цифры, которые были найдены в строке.
- Выводится символ ' ', пока не будут выведены все буквы.
- Выводится символ ' ', пока не будут выведены все цифры.