Проверить, есть ли цифры в строке - Pascal ABC
Формулировка задачи:
Помогите пожалуиста с выводом.Если цифр нет в строке, программа должна вывести на экран слово «Нет», а если есть – слово «Да» и в следующей строчке искомое число. Например, если исходная последовательность была такая:
Day 10, mice 8: "Year" 7 is a mistake 91.
то результат должен быть следующий:
Да
987110
где поставить вывод «Да» или же вывод «Нет»
Решение задачи: «Проверить, есть ли цифры в строке»
textual
Листинг программы
program Lab; var s: string; mas: array['0'..'9'] of integer; i: integer; ch: char; Res: boolean; begin readln(s); for ch := '0' to '9' do mas[ch] := 0; Res := False; for i := 1 to length(s) do if s[i] in ['0'..'9'] then begin Inc(mas[s[i]]); Res := True; end; if Res then writeln('Да') else writeln('Нет'); for ch := '9' downto '0' do for i := 1 to mas[ch] do Write(ch); end.
Объяснение кода листинга программы
В данном коде на языке Pascal ABC происходит проверка наличия цифр в строке. Переменные в коде:
- s: строка, в которую читается ввод пользователя
- mas: массив целых чисел от 0 до 9
- i: переменная для цикла
- ch: переменная для цикла
- Res: логическое значение, указывающее на наличие цифр в строке
В начале программы считывается строка из ввода пользователя. Затем происходит инициализация массива mas нулями. Далее идет цикл for, который проходит по каждому символу в строке s. Если текущий символ является цифрой от 0 до 9, то значение этого символа увеличивается на единицу в массиве mas. Если в массиве mas есть цифры, то значение переменной Res устанавливается в true, иначе - в false.
После этого происходит проверка значения переменной Res. Если оно равно true, то выводится строка
Да
, иначе -Нет
. Затем происходит вывод цифр массива mas в обратном порядке, начиная с индекса 9 и до 0. Таким образом, данный код проверяет наличие цифр в строке и выводит результат в зависимости от того, есть ли цифры или нет.