Menu

Uniwersalny kod


#include (iostream)
using namespace std;
string na_duze(string liczba)
{
for(unsigned i=0;i(liczba.length();i++)
{
liczba[i]=toupper(liczba[i]);
}
return liczba;
}
unsigned po(unsigned p, unsigned w)
{
if(w==0) return 1;
return p*po(p, w-1);
}
unsigned na10(string liczba, unsigned system)
{
unsigned index, wartosc=0;
for(unsigned i=0;i(liczba.length();i++)
{
if((int(liczba[i])>=48 && int(liczba[i])<=57))
index=int(liczba[i])-48;
else
index=int(liczba[i])-55;
wartosc+=index*po(system, liczba.length()-1-i);
}
return wartosc;
}
string z10(unsigned wartosc, unsigned system)
{
string nowy;
unsigned index;
if(wartosc==0)
return "0";
while(wartosc>0)
{
index=wartosc%system;
if(index<10)
nowy=char(index+48)+nowy;
else
nowy=char(index+55)+nowy;
wartosc/=system;
}
return nowy;
}
int main()
{
unsigned system, system2;
string liczba;
cin>>system>>liczba>>system2;
liczba=na_duze(liczba);
cout << z10(na10(liczba, system), system2) << endl;
return 0;
}

© copyright by Andrzej Kwaśniewski