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

Se citește de la tastatură un număr natural de 3 cifre. Să se afișeze cifrele sale în ordine crescătoare.
va rog cu tot cu explicatie


AntiEaglesDavids: vrei sa-l sortez cu stl?

Răspunsuri la întrebare

Răspuns de zeul777
1
#include<iostream> //libraria ce contine cin si cout
using namespace std
int main()  
{
int numar;
cin>>numar; //citim numarul de la tastatura
int cifre[3]={10,10,10};
while(numar){ //bucla se va opri cand numar == 0

int cifra = numar%10; // modulo 10 iti da ultima cifra  45%10 =5 4%10=4
for(int i=0;i<3;i++){
   if(cifra<=cifre[i]){ //am gasit pozitia pe care trebuie sa inseram cifra
       for(j=1;j>=i;j--){ /*mutam toate pozitiile cu o pozitie instanga, trebuie parcurs de la sfarsit vectorul la inceput pentru altfel am suprascrie pozitia viitoare */
            cifre[j+1]=cifre[j];
      
     }

cifre[i]=cifra; //cifra o punem in vector pe pozitia corecta
numar=numar/10;//impartim numarul la 10 pentru a fi pe ultima pozite cifra urmatoare 45->4
  break;// iesim din for deoarece deja am gasit pozitia inserarii
}
}

for(int i=0;i<3;i++)
cout<<cifre[i]<<" ";

}

//sa-mi spui daca nu ati invatat vectori sau daca sa evit break-ul
Alte întrebări interesante
Matematică, 9 ani în urmă