Составить из имеющихся цифр максимально возможное число - Turbo Pascal (29571)
Формулировка задачи:
С клавиатуры вводится строка, содержащая буквы и цифры. Составить из имеющихся цифр максимально возможное число.
Решение задачи: «Составить из имеющихся цифр максимально возможное число»
textual
Листинг программы
var a:array[1..10]of integer; s:string; j,i:integer; begin readln(s); for i:=1 to 10 do a[i]:=0; for i:=1 to length(s)do begin if(s[i]='1')then inc(a[1]); if(s[i]='2')then inc(a[2]); if(s[i]='3')then inc(a[3]); if(s[i]='4')then inc(a[4]); if(s[i]='5')then inc(a[5]); if(s[i]='6')then inc(a[6]); if(s[i]='7')then inc(a[7]); if(s[i]='8')then inc(a[8]); if(s[i]='9')then inc(a[9]); if(s[i]='0')then inc(a[10]); end; for i:=9 downto 1 do if(a[i]>=1)then for j:=1 to a[i] do write(i); if(a[10]>=1)then for i:=1 to a[10] do write(i); readln; end.
Объяснение кода листинга программы
- Создается переменная
a
, которая представляет собой массив целых чисел размером 10. - Считывается строка
s
. - Запускается цикл
for
, который идет от 1 до 10. На каждой итерации увеличивается значение соответствующего элемента массиваa
на единицу, если текущий символ в строкеs
равен 1, 2, 3, 4, 5, 6, 7, 8 или 9. Если символ равен 0, то значение элемента массива увеличивается на единицу после завершения цикла. - После завершения цикла
for
, запускается еще один циклfor
, который идет от 9 до 1. На каждой итерации выводится значение соответствующего элемента массиваa
в виде числа от 1 до 10, если его значение больше или равно 1. - Если значение
a[10]
больше или равно 1, то запускается еще один циклfor
, который идет от 1 до значенияa[10]
. На каждой итерации выводится значение элемента массиваa
в виде числа от 1 до 10. - Программа завершается после ввода и вывода всех данных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д