Napisz funkcje string convBase(int n, int base) która pobiera liczbe całkowitą n oraz podstawę sytemu liczbowego base a zwraca napis (typu string) zawieraj¡cy liczbę n zapisaną w systemie liczbowym o podstawie base. Podstawa może być dowolną liczbą całkowita od 2 do 36 (włącznie). Dla podstaw większych od 10 zastosuj kolejne litery alfabetu (A, B, ..., Z) jako cyfry 10, 11, ..., 36.
int main()
{
using std::cout; using std::endl; using std::setw;
int numbs[] = {61, 0, -9, -200, 9999};
int bases[] = {16, 8, 2, 20, 36};
size_t size = sizeof(numbs)/sizeof(*numbs);
for (size_t i = 0; i < size; ++i) cout << setw(4) << numbs[i] << " = " << setw(5) << convBase(numbs[i],bases[i]) << " in base " << setw(2) << bases[i] << endl;
}
powinna wydrukowa¢
61 = 3D in base 16
0 = 0 in base 8
-9 = -1001 in base 2
-200 = -A0 in base 20
9999 = 7PR in base 36
Kompletnie nie wiem jak się zabrać do tego. Gdyby ktoś miał trochę czasu wolnego i mi wytłumaczył jak to zrobić będę wdzięczny ;]
Ps wiem google nie gryzie ale i nie odpowiada jak nie znasz pytania :]