Составить из имеющихся цифр максимально возможное число - 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. - Программа завершается после ввода и вывода всех данных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д