Algoritmi

Enunt:

Fie n numar natural. Sa se scrie cel mai mare numar care se poate forma din cifrele sale.

Autor solutie:

Vlad Novetschi, clasa IX B.

 

int cif, i, ord, nr,m,j;

int pow(int x,int y)
{
int result = 1;
for(int i = 0; i < y; ++i)
{
result *= x;
}
return result;
}

int main()
{
cin>>nr;
while (nr!=0)
{
cif=nr%10;
j=0;
for (i=1;i<=m;i++)
{
if (cif>=ord%pow(10,i)/pow(10,i-1)&&i>=j)
{
j=i;
}
}
ord = (ord-ord%pow(10,j))*10+cif*pow(10,j)+ord%pow(10,j);
m++;
nr=nr/10;
}
cout<<ord;
}

Reclame
%d blogeri au apreciat asta: