Паскаль Дано четырёхзначное число. Напишите программу которая выводит ** экран самое...

0 голосов
101 просмотров

Паскаль
Дано четырёхзначное число. Напишите программу которая выводит на экран самое большое число, которое можно составить из цифр заданного четырёхзначного числа


Информатика (15 баллов) | 101 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
a:array[1..4] of integer;
b,i,i2,max:integer;
Begin
Readln(b);
a[1]:= b div 1000;
a[2]:= b div 100 mod 10;
a[3]:= b div 10 mod 10;
a[4]:= b mod 10;
max:=1;
for i2:=1 to 4 do begin 
for i:=1 to 4 do if a[max]a[max]:=0;
End;
End.

(875 баллов)
0

Спасибо большое! Всё отлично работает!
Проблема только в том, что мы ещё не изучали массивы....
Прошу прощения, что не указали это сразу...
Возможно ли решение этой задачи с условным оператором if/

0

да без проблем

0

массив тут для удобства

0

Var
//a:array[1..4] of integer;
b,i,max,mz,a1,a2,a3,a4:integer;
Begin
Readln(b);
a1:= b div 1000;
a2:= b div 100 mod 10;
a3:= b div 10 mod 10;
a4:= b mod 10;

for i:=1 to 4 do begin
max:=-1;
mz:=0;

if a1>max then begin max:=1; mz:=a1; end;
if a2>mz then begin max:=2; mz:=a2; end;
if a3>mz then begin max:=3; mz:=a3; end;
if a4>mz then begin max:=4; mz:=a4; end;

if max=1 then Begin Write(mz); a1:=0 End;
if max=2 then Begin Write(mz); a2:=0 End;
if max=3 then Begin Write(mz); a3:=0 End;
if max=4

0

then Begin Write(mz); a4:=0 End;
End;
End.

0

не поместилось))

0

Спасибо большущее! Классное решение! Очень помогло в понимании алгоритмов. Сам бы я, к сожалению, до такого алгоритма пока не додумался. Ну по крайней мере да данном этапе обучения.

0

Всё приходит от количества. Я недавно с рекурсии в нокаут уходил, а теперь даже не задумываюсь