cześć, piszę sobie prosty kodzik zamieniajacy liczbę dziesiętną na binarną, jednak mam pewien dziwny problem.
kod wygląda tak
int main()
{
int liczba;
cout << "Podaj liczbę";
cin >> liczba;
cin.ignore();
int i=0;
int reszta;
string reszta_string;
do{
reszta=liczba%2;
// cout << liczba << "\t"<<reszta<<endl;
reszta_string[i]=reszta+'0';
liczba=liczba/2;
i++;
}
while(reszta<=liczba);
cout << reszta_string;
cout << "koniec";
getchar();
}
Chcę w stringu reszta_string zapisywać kolejno cyferki(1,0,0,1), potem jeszcze przewrócić do góry nogami ;] a potem wyświetlić stringa, ale nie wiem czemu, nic się nie wyświetla, tak jakby reszta_string było puste, a wiem, że nie jest puste, bo jak dam
cout << reszta_string[0] (lub inny element), to poprawnie wyświetla wartość.
próbowałem też dać '\0' jako ostatni znak stringa, ale to nie pomaga.
co prawda można wyświetlić tego stringa za pomocą pętli
while(i>=0)
{
cout << reszta_string[i];
i--;
}
ale nie rozumiem, czemu nie można go normalnie wyświetlić za pomocą cout << string ?