Нужно вывести на экран цифры из предложения - Pascal
Формулировка задачи:
Для олимпиады нужно написать прогу, которая выводит цифры из предложения и сортирует их в порядке возрастания. Помогите прошу.
Решение задачи: «Нужно вывести на экран цифры из предложения»
textual
Листинг программы
var
n: array [0..9] of Integer;
i, j: Integer;
s: String;
begin
Write('Строка: '); ReadLn(s);
for i:=1 to Length(s) do
if s[i] in ['0'..'9'] then Inc(n[Ord(s[i])-Ord('0')]);
Write('Цифры:');
for j:=0 to 9 do for i:=1 to n[j] do Write(' ',j); WriteLn;
end.
Объяснение кода листинга программы
- Объявляется массив
nразмером от 0 до 9 для хранения количества цифр. - Объявляются переменные
iиjтипа Integer для использования в циклах. - Объявляется переменная
sтипа String для хранения вводимой строки. - Пользователю предлагается ввести строку с помощью функции Write('Строка: '); ReadLn(s);
- Запускается цикл
for, который проходит по каждому символу в строкеsи проверяет, принадлежит ли символ к числам от 0 до 9 с помощью условияif s[i] in ['0'..'9']. Если символ является цифрой, увеличивается соответствующий элемент массиваnна 1. - Выводится строка
Цифры:с помощью функции Write('Цифры: '). - Запускается вложенный цикл
for, который проходит по каждому элементу массиваnи выводит количество цифр на экран с помощью циклаfor i:=1 to n[j] do Write(' ',j). Он делает это для каждого значенияjот 0 до 9. - После этого выполняется переход на новую строку с помощью функции WriteLn.