Laborator 1
Baze de numeratie
Program suplimentar!
Urmatorul program transforma orice numar dintr-o baza mai mica sau egala cu 10 in alta baza mai mica sau egala cu 10:
#include <iostream>
using namespace std;
int main()
{
cout << "Transformare numerelor din baza A in baza B" << endl;
long gresit,n,c,b,p,nb,y,na;
gresit=0;
while (gresit==0)
{
gresit=1;
cout<<"numarul=";cin>>nb;
cout<<"baza=";cin>>b;
y=nb;
c=0;
while(y!=0&&c<b)
{c=y%10;
if(c>=b)
{
cout<<"Imposibil"<<endl;
gresit=0;
}
y=y/10;
}
}
cout<<"baza in care vreti sa transformati: ";cin>>na;
p=1;n=0;
while(nb!=0)
{c=nb%na;
c=c*p;
n=n+c;
p=p*b;
nb=nb/na;
}
cout<<"Numarul in baza "<<na<<" este "<<n<<endl;
return 0;
}