Sunteți pe pagina 1din 3

Algoritm pentru determinarea numarului de cifre

Algoritmul pentru determinarea numarului de cifre se bazeaza pe existenta in limbajul C a unei


instructiuni care ajuta la eliminarea ultimei cifre din numar. Programul se bazeaza pe urmatorul
principiu: contorul c numara cifra unitatilor, apoi cifra zecilor, a sutelor si asa mai departe. Dupa
fiecare cifra, contorul se mareste cu o unitate, iar apoi se elimina ultima cifra a numarului citit n
#include<iostream>
using namespace std;
int main()
{
int n, c=0;
cout<<"Care este numarul? ";
cin>>n;
while (n!=0)
{
c++;
n=n/10;
}
cout<<"Numarul ales are "<<c<<" cifre.";
return 0;
}
Realizati un program care sa citeasca un numar de la tastatura si sa afiseze suma cifrelor sale.
#include<iostream.h>
void main()
{
int c, n, s;
s=0;
cout<<"introduceti numarul "; cin>>n;
while(n!=0)
{ c=n%10;
s=s+c;
n=n/10; }
cout<<"suma cifrelor este "<<s;
}
Algoritmul pentru extragerea cifrelor unui numar: sunt extrase pe rind cifrele c ale numarului incepind
cu cifra unitatilor cu operatia n%10 si eliminarea din numar a cifrei extrase, cu operatia n/10. Aceste
operatii se executa atita timp cit mai exista cifre de extras din numar adica n diferit de 0.
Realizati un program care extrage si afiseaza cifrele unui numar citit de la tastatura.
#include<iostream.h>
void main()
{
int c, n;
cout<<"introduceti numarul "; cin>>n;
while(n!=0)
{ c=n%10;
cout<<c<<endl;
n=n/10; }
}

Algoritmul pentru compunerea unui numar din cifrele sale.


Formula folosita la construirea unui numar din cifrele sale este: nr=nr*10+c; unde nr este numarul care
se construieste iar c este cifra care se adauga la unitati.
Realizati un program care citeste cifrele unui numar de la tastatura si apoi afiseaza numarul.
#include<iostream.h>
void main()
{ int c, nr;
nr=0;
cin>>c;
while((c>=0)&&(c<=9))
{ nr=nr*10+c;
cin>>c; }
cout<<"nr. este "<<nr;
}
Algoritmul pentru determinarea inversului unui numar. Algoritmul determina inversul unui numar n
prin extragerea pe rind a fiecarei cifre (incepind cu cifra unitatilor) din numarul n si compunerea unui
nou numar cu aceste cifre.
Pasii algoritmului sunt:
a. se citeste numarul n
b. se initializeaza numarul invers cu valoarea 0
c. se extrage cifra cea mai semnificativa din numarul n si se aduna cifra la numarul inv*10, prin
operatia inv=inv*10+n%10;
d. se elimina din numarul n cifra extrasa, cu operatia n=n/10
e. daca n este diferit de 0 se revine la pasul 3.
#include<iostream.h>
void main()
{int n,inv;
cout<<"introduceti numarul "; cin>>n;
inv=0;
while(n!=0)
{ inv=inv*10+n%10;
n=n/10; }
cout<<"inversul numarului este "<<inv;
}
Realizati un program care sa citeasca un numar de la tastatura si sa verifice daca este palindrom.
#include<iostream.h>
void main()
{ int n, nr, inv;
cout<<"introduceti numarul "; cin>>n;
nr=n; inv=0;
while (n!=0)
{ inv=inv*10+n%10;
n=n/10; }
if(nr=inv)
cout<<"Numarul este palindrom";
else

cout<<"Numarul nu este palindrom";


}