#include
#include
using namespace std;
// перевод из основания frm в основание 10
void snd(int frm,int* n,char s[]) {
int m,p;
m=strlen(s);
if (m>0) {
if (s[m-1]<58) p=s[m-1]-48; <br> else p=s[m-1]-'a'+10;
s[m-1]=0; snd(frm,n,s);
}
else p=0;
*n=*n*frm+p;
}
// перевод числа n из основания 10 в to
void dsn(int* n,int to,char s[]) {
static int k=0;
int m;
m=*n%to; *n/=to; k++;
if (*n>0) dsn(n,to,s);
else { s[k]=0; k=0; }
if (m<10) s[k]=m+48;<br> else s[k]=m+'a'-10;
k++;
}
int main() {
int osns,osnd;
int n=0;
char s[30];
cout<<"from osn: "; cin>>osns;
cout<<"number: "; cin>>s;
cout<<"to osn: "; cin>>osnd;
snd(osns,&n,s);
dsn(&n,osnd,s);
cout<<s<<endl;<br> system("pause");
return 0;
}
from osn: 5
number: 13211
to osn: 16
420
from osn: 16
number: 2f3de
no osn: 6
4051502