Напишите программу, которая находит все различные цифры в символьной строке - Pascal ABC
Формулировка задачи:
Напишите программу, которая находит все различные цифры в символьной строке.
Входные данные
На вход программе подаётся символьная строка.Выходные данные
Программа должна вывести в одной строке все различные цифры, которые встречаются в исходной строке, в порядке возрастания. Если в строке нет цифр, нужно вывести слово 'NO'.Примеры:
входные данные
ab1n32kz2выходные данные
123входные данные
asdasdвыходные данные
NOРешение задачи: «Напишите программу, которая находит все различные цифры в символьной строке»
textual
Листинг программы
var s: string;
i: integer;
c: char;
m: set of char;
begin
m := [];
readln(s);
for i := 1 to length(s) do if s[i] in ['0'..'9'] then include(m, s[i]);
if m = []
then write('NO')
else for c := '0' to '9' do if c in m then write(c)
end.
Объяснение кода листинга программы
- Переменная
sобъявлена как строка (string). - Переменная
iобъявлена как целое число (integer). - Переменная
cобъявлена как символ (char). - Переменная
mобъявлена как множество символов (set of char). - Строка
sсчитывается с помощью функцииreadln(). - В цикле
forперебираются все символы строкиs. - Если текущий символ является цифрой от 0 до 9, то он добавляется в множество
m. - После завершения цикла
for, проверяется, пусто ли множествоm. - Если множество
mпусто, выводится сообщениеNO. - Если множество
mне пусто, для каждого символаcиз множестваmвыводится его значение.