Napisz sobie funkcję zwracającą void
, w pierwszym argumencie przekaż liczbę do konwersji, a w drugim przekaż docelowy ciąg znaków (przez referencję). Jeśli liczba jest różna od 0
to wywołaj tę funkcję rekurencyjnie, podając liczbę podzieloną na pół i drugi argument bez zmian, a następnie dodaj na koniec ciągu z drugiego argumentu znak obliczony na podstawie modulo z liczby.
Pseudokod:
void toBinary(int number, ref string value)
if number != 0
toBinary(number / 2, value)
value += char(number % 2 + 48)
end
end
Możesz też spróbować zwracać wszystko w rezultacie funkcji:
string toBinary(int number)
if number != 0
return toBinary(number / 2) + char(number % 2 + 48)
else
return ""
end
Pamiętaj – powyższe to pseudokod, a Twoim zadaniem jest implementacja w C++. ;)