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

Am si eu nevoie de putin ajutor
Deci
Am ca ex acest numar 72361
El are 5 cifre
Cum detemin cate cifre are, iar dupa sa determin care este cifra 1, 2,3,4,5. ( aici depinde de cate cifre are, daca are 3, trebuie sa stiu care este cifra 1,2, respectiv 3)
Numarul are maxim 9 cifre.
Multumesc mult!

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
Ca sa determini cate cifre are e foarte simplu 
Iti voi scrie doar bucata de program care face acest lucru 

//Notam n numarul la care vrei sa-i numeri cifrele 
//Notam nr_cif numarul de cifre ale numarului 
int n,nr_cif;

cin>>n ;     //Citim numarul
nr_cif =0 ;   //Nu am numarat nici o cifra deci initializam nr_cif cu 0

while(n)   {  //Cat timp numarul nu s-a terminat 
nr_cif++;    //Adunam ultima cifra la numarul total de cifre 
n=n/10 ; }   //Impartim numarul cu 10 ca sa "scapam" de ultima cifra 

cout<<"Numarul are "<<nr_cif<<"cifre"; //Scriem cate cifre are numarul

Cel mai simplu mod ( nu-i foarte practic dar e simplu de explicat ) sa vedem care cifra a cata este este sa luam fiecare cifra si sa o bagam intr-un vector 
Vom avea vectorul v[9] (maxim 9 cifre )

int v[9];
int n,nr_cif,poz;
poz=0 //Pozitia curenta in vector , este 0 deoarece 
cin>>n ;     //Citim numarul
nr_cif =0 ;   //Nu am numarat nici o cifra deci initializam nr_cif cu 0

while(n)   {  //Cat timp numarul nu s-a terminat 
v[++poz] =n%10;    /*Adaugam ultima cifra a lui n pe urmatoarea pozitie libera din vector */
nr_cif++;    //Adunam ultima cifra la numarul total de cifre 
n=n/10 ; }   //Impartim numarul cu 10 ca sa "scapam" de ultima cifra 

Dupa executia acestei secvente , pentru numarul 123456789 vom avea vectorul v [9]= {9,8,7,6,5,4,3,2,1,} asezate in ordine diferita deoarece le-am eliminat de la dreapta la stanga .

Ce ne ramane de facut este sa afisam vectorul de la dreapta la stanga 
for(i=nr_cif; i>=1;i--) 
  cout <<"cifra "<<v[i]<< "este cifra numarul "<<nr_cif-i+1 <<"din numar ; 

Sper sa intelegi!

Viorel333: Multumesc mult!
Alte întrebări interesante