Informatică, întrebare adresată de VladTSU, 9 ani în urmă

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ăspunsuri la întrebare

Răspuns de 1Viserys
0

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

Alte întrebări interesante