Zamiana liczby calkowitej na podany system liczbowy
Ostatnio zmodyfikowano 2014-11-11 22:05
gero1913 Temat założony przez niniejszego użytkownika |
Zamiana liczby calkowitej na podany system liczbowy » 2014-11-09 17:08:55 Cześć. Jestem w trakcie pisania programu ktory zmienia liczbe calkowita nieujemna w systemie dziesietnym na inny system liczbowy. Mam problem i prosiłbym o jakieś wskazówki . Dla systemow liczbowych ktorych podstawa jest liczba dwucyfrowa wieksza od 10 chcialbym zamienic 10 - A .... 15 - F Próbowałem to zrobić zmieniając typ tablicy z int na char. Program skompilował się ale nic nie wyświetlał. Nie wiem jak to zrobić. Oto kod: #include <iostream> using namespace std; void zmiana_systemu( int liczba, int system );
int main() { int liczba, system; cout << "Podaj liczbe ktora chcesz zapisac w innym systemie liczbowym" << endl; cin >> liczba; cout << "Podaj podstawe systemu" << endl; cin >> system; cout << "Oto twoja liczba zmieniona na system o podstawie " << system << " : " << endl; zmiana_systemu( liczba, system ); return 0; }
void zmiana_systemu( int liczba, int system ) { int ilosc_miejsc = 0; int liczba_kopia = liczba; int * tablica = new int[ ilosc_miejsc ]; for( int i = 0; i < ilosc_miejsc; i++ ) tablica[ i ] = ilosc_miejsc; while( liczba_kopia > 0 ) { ilosc_miejsc++; liczba_kopia /= system; } int x = 0; while( liczba > 0 ) { if( liczba % system != 0 ) tablica[ x ] = liczba % system; else tablica[ x ] = 0; x++; liczba /= system; } for( int i = ilosc_miejsc - 1; i >= 0; i-- ) cout << tablica[ i ]; delete[] tablica; }
Jeżeli ktoś ma jeszcze jakieś inne sugestie co do kodu to zachęcam do konstruktywnej krytyki. [/i] |
|
1aam2am1 |
» 2014-11-09 17:13:57 Twoja tablica ma zero miejsc. Wychodzisz poza tablice, jeżeli reszta działa |
|
Tomek_z_W11 |
» 2014-11-11 22:05:32 Proponuje Ci deklaracje zmiennych "do pętli", typu i, czy j, robić przed wszystkim, w każdym razie nie w pętli, bo czasami może się coś skiepścić. |
|
« 1 » |