wydruk cz. dziesietnych i jednosci liczby
Ostatnio zmodyfikowano 2009-10-29 17:40
Mapet Temat założony przez niniejszego użytkownika |
wydruk cz. dziesietnych i jednosci liczby » 2009-10-29 17:13:51 Witam! Mam maleńki problem mianowicie, po wprowadzeniu do zmiennej int liczby np: 6-cyfrowej 123456, chce aby została wydrukowana tylko pierwsza cyfra od prawej i po spacji tylko druga cyfra od prawej etc. Jest na to jakaś specjalna funkcja?
W sumie próbowałem sam to rozwiązać mianowicie nie do int a do stringu zapisać dana liczbę a potem przesłać ja do funkcji która rozpozna znak w stringu i zwróci mi cyfrę z interesującego mnie miejsca, lecz wydaje mi się to mało optymalne, może da się to jakoś zrobić operując bitami?
edit
Jak zwykle skomplikowałem sobie i innym życie :<. Sprawa się rozwiązała parę minut po napisaniu posta za co przepraszam. Rozwiązanie banalne : char liczba[20]; cin.getline(liczba,20); i wpisujemy sobie 20 cyfr do tablicy SPOJ program zaakceptowal :P |
|
Elaine |
» 2009-10-29 17:40:22 Bitami to nie bardzo, ale można to zrobić dzieleniem i resztą z dzielenia, jakoś tak (co w zasadzie niewiele się różni od konwersji do stringa): int result[ 16 ]; int i = 0;
while( num > 0 ) { result[ i ] = num % 10; num /= 10; ++i; }
for( int j = 0; j < i; j++ ) { cout << result[ j ] << ' '; }
|
|
« 1 » |