Informatică, întrebare adresată de MădălinaSpiridon, 9 ani în urmă

Cerința
Se dă un număr n scris în baza b. Să se afișeze scrierea acestuia în baza c.

Date de intrare
Programul citește de la tastatură numerele n, b și c separate prin spații.

Date de ieșire
Programul va afișa pe ecran scrierea numărului n în baza c.

Restricții și precizări
numărul n este natural si are cel mult nouă cifre
2 ≤ b,c ≤10



Exemplu
Intrare

2013 4 7
Ieșire

252
Explicație
2013(4) se scrie 252(7)

AM DOAR 60 DE PUNCTE
#include
#include
using namespace std;

int n,b,c,uc,i,rez,r,nb,p=1,b1,cn;
int main()
{
cin>>n>>b>>c;
int pb=1;
do{
rez=rez+(n%10)*pb;
pb=pb*b;
n=n/10;
}
while(n);
while(rez){
r=rez%c;
nb=nb+r*p;
p=p*10;
rez=rez/c;
}
cout << nb<< endl;
return 0;
}

Răspunsuri la întrebare

Răspuns de ionutg38
19
#include<iostream>
using namespace std;
int n,m,p,r,b,c,x[100],k;

int main()
{
    cin>>n>>b>>c;
    //conversia lui n din baza b in baza 10 si se obtine m
    p=1;
    while(n!=0)
    {
        r=n%10;
        m=m+r*p;
        p=p*b;
        n=n/10;
    }
    //conversia lui m din baza 10 in baza c si se obtine n
    p=1;
    while(m!=0)
    {
        r=m%c;
        k++;
        x[k]=r;
        m=m/c;
    }
    for(int i=k;i>=1;i--)
        cout<<x[i];
  }
Alte întrebări interesante