👤

Ma puteti ajuta? Am nevoie de un algoritm in C++ in care se citeste de la tastatura un numar n si sa se ordoneze cifrele acestuia in ordine descrescatoare. Precizez ca trebuie sa se afiseze si constructia in memorie si daca puteti sa folositi doar if() si while() pentru ca doar pe acestea le-am invatat.
Multumesc anticipat.


Răspuns :

Răspuns:

Explicație:

#include <iostream>

using namespace std;

int main()

{

int nr;

cin>>nr;

int dim=0;

int v[100], minim;

while(nr>0)

{

   v[dim]=nr%10;

   dim++;

   nr=nr/10;

}

   int i=0, j;

   while(i<dim-1)

   {

       j=i+1;

       minim=i;

       while(j<dim)

       {

           if(v[j]<v[minim])

           {

               minim=j;

           }

           j++;

       }

       swap(v[i], v[minim]);

       i++;

   }

   i=0;

   nr=0;

   while(i<dim)

   {

       nr=nr*10+v[i];

       i++;

   }

   cout<<nr;

   return 0;

}

daca nu ai invatat swap inca, o alternativa ar fi

int aux;

aux=v[i];

v[i]=v[minim];

v[minim]=aux;

pentru orice intrebari/ nelamuriri iti stau la dispozitie