Witam,
jak w temacie, zwracam się z prośbą o pomoc przy tym programie.
Próbuję zrobić program, trochę już mam, ma przeliczać liczby z dziesiętnego systemu na wszystkie inne, zrobiłem wszystkie podstawowe od dwójkowego do dziewiątkowego, szesnastkowy też zrobiłem bo wystarczyło użyć
cout << hex << x; jednak mam problem z resztą systemów, np. trzynastkowy, przy zamianie liczby z dziesietnego na trzynastkowy, nie wiem jak to wszystko ująć, by do mojej reszty z dzielenia zostały przypisywane znaki odpowiednio do ich ilości w systemienp.
334\13 | reszty 9
25\13 | reszty 12 odpowiada w tym systemie litera C
1 | reszty 1
a więc 334 w dziesiętnym to 1C9 w trzynastkowym, tylko jak zapisać to w kodzie, aby program to sam wyliczył?
Poniżej daje to co już mam:
# include <iostream>
int main ()
{
using namespace std;
cout <<"Zamiana liczb pomiedzy dziesietnym, a innymi systemami"<<endl<<endl;
int tab[1]={0};
int ile=0;
int x,y;
cout <<"Podaj liczbe w systemie dziesietnym, ktora chcesz zamienic:";
cin>>x;
cout <<"Na jaki system chcesz zamienic?\n 2 - dwojkowy\n 3 - trojkowy\n 5 - piatkowy\n 6 - szostkowy\n 7 - siodemkowy\n 8 - osemkowy\n 9 - dziewiatkowy\n 11 - jedenastkowy\n 13 - trzynastkowy\n 16 - szesnastkowy\n 20 - dwudziestkowy\n";
cin>>y;
if (y==16)
{
cout <<"Wartosc w systemie szesnastkowym:\n";
cout << hex << x;
cout <<" \n";
system("PAUSE");
return 0;
}
else if (y!=16);
{
while(x>0)
{
tab[ile]=x%y;
x/=y;
ile++;
}
for(int i=ile-1; i>=0; i--) cout<<tab[i];
cout<<endl;
cin>>x;
return 0;
}
}
Dziękuję za wszelką pomoc i wskazówki.