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
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!
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
Matematică,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă