Напишите программу, которая находит все различные цифры в символьной строке - 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.

Объяснение кода листинга программы

  1. Переменная s объявлена как строка (string).
  2. Переменная i объявлена как целое число (integer).
  3. Переменная c объявлена как символ (char).
  4. Переменная m объявлена как множество символов (set of char).
  5. Строка s считывается с помощью функции readln().
  6. В цикле for перебираются все символы строки s.
  7. Если текущий символ является цифрой от 0 до 9, то он добавляется в множество m.
  8. После завершения цикла for, проверяется, пусто ли множество m.
  9. Если множество m пусто, выводится сообщение NO.
  10. Если множество m не пусто, для каждого символа c из множества m выводится его значение.

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы