Напечатать в порядке убывания все цифры входящие в запись данного натурального числа — Pascal(Паскаль)

 var
  c: set if byte;
  i: byte;
  n: longint;
begin
 Write('Введите натуральное число');
 Readln(n);
 c:=[];
 while n>0 do
   begin
      c:=c+[n mod 10];
      n:=n div 10;
   end;
 for i:=9 downto 0 do
   if i in c then write(i,' ');
end.

Следующий вариант

function countcin(c,n:longint):longint;   {число С цифр в числе n}
var
   i:longint;
begin
   i:=0;
   while n>0 do
   begin
      if n mod 10 = c then
         inc(i);
      n:=n div 10;
   end;
   countcin:=i;
end;
{---------------------------------------}
var
    n,i,j,p:longint;
    m:set of byte;
begin
   writeln('Число');
   readln(n);
   p:=n;
   while (n>0) do
   begin
      include(m,n mod 10);
      n:=n div 10;
   end;
   for i:=9 downto 0 do
      if i in m then
         for j:=1 to countcin(i,p) do
            write(i);
end.

Leave a Comment

+ 34 = 35