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

Se dă numărul natural n. Afișați în ordine strict crescătoare cifrele care apar în scrierea zecimală a lui n.
Ex. 2083 => 0,2,3,8.


antonii: ti-l fac acum...
antonii: Stii engleza,nu?
Axbolt: mda

Răspunsuri la întrebare

Răspuns de antonii
2
#include<iostream>
#include<math.h>
using namespace std;

int GetSize(int Nr);
int GetNrByPlace(int Nr,int Loc);

int main(){
      int n=0,Temp=0,
              MaxNr=0,
              Loc=1;

      cin>>n; Temp=n;

      while(n!=0){
             for(int x=1;x<=GetSize(n);x++){
                     if(GetNrByPlace(n,x)>MaxNr){
                           MaxNr=GetNrByPlace(n,x); 
                           Loc=x;
                    }
              }
             if(MaxNr!=0) {
                    cout<<MaxNr<<",";
                     n-=(int)MaxNr*pow(10,(double)Loc-1) ;
                     MaxNr=0;
              }
      }

      //============If n had a 0 or more add them========
      n=Temp;
      for(int x=1;x<=GetSize(n);x++){
               if(GetNrByPlace(n,x)==0) cout<<"0,";
        }


      system("pause");
      return 0;
}


int GetSize(int Nr){
     int Size=0;
      while(Nr!=0){
           Size++; Nr/=10;
     }
 return Size;
}

int GetNrByPlace(int Nr,int Loc){
      int Count=0;
       while(Nr!=0){
           Count++;
            if(Count==Loc) {
                 return Nr%10;
                  continue;
            }
        Nr/=10;
    }
}

Axbolt: nu ma ajuta da' merci oricum ( prea avansat )
antonii: Daca-l rulezi o sa vezi ca adauga o virgula in plus.Trebuie doar sa pui o conditie la primul for :sa verifice daca a mai rulat inainte si daca da sa adauge virgula. De asemenea codul nu stocheaza valorile care sunt produse .
antonii: Cum  adica prea avansat? Sunt in a 9-a si il inteleg perfect
antonii: Ce nu intelegi? Spune-mi si iti explic( ce-i adevarat poate ca unii nu-l inteleg-imi place informatica si am "studiat" foarte mult in timpul meu liber si poate de aceea mi se pare ca toti ar trebuii sa stie la fel de multe ca mine)
Axbolt: atunci suntem eu in urma ,nu am facut #include<math.h>
antonii: da...pai nimeni la varsta ta sau a mea..sau in acest semestru nu invata #include, functii si toate celelalte. Eu le-am invatat inca de mic. De asta am ajuns sa cunosc aproape 10 limbaje de programare
Axbolt: bravo tie 
antonii: #include doar "include" o librarie in proiectul tau. Aceste librari se gasesc de obicei in sistem cu extensia .h si contin functii(bucati de cod care sunt executate pe rand) care pot fi apelate. De exemplu la fiecare proiect de-al tau va trebuii sa incluzi libraria iostream care contine cout si cin
antonii: Fara acea librarie compilatorul nu stie unde se afla acele functii(cout,cin) deoarece codul acestora nu e in proiectul tau ci in alt fisier. De asemenea libraria math.h contine unele functii precum cos ,sin ,atan, asin, pow(putere), sqrt ,si chiar PI
Alte întrebări interesante