Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

wydruk cz. dziesietnych i jednosci liczby

Ostatnio zmodyfikowano 2009-10-29 17:40
Autor Wiadomość
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
P-11152
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):
C/C++
// num to liczba do wypisania
int result[ 16 ]; // jedna cyfra == jeden element tablicy
int i = 0; // a tu ile cyfr ostatecznie wylądowało

while( num > 0 )
{
    result[ i ] = num % 10; // zapisujemy cyfrę jedności
    // poprzednia cyfra dziesiątek staje się cyfrą jedności
    // cyfra setek cyfrą dziesiątek itd.
    num /= 10;
    ++i;
}
// mamy w tablicy, teraz zrób z tym co chcesz, na przykład:
for( int j = 0; j < i; j++ )
{
    cout << result[ j ] << ' ';
}
P-11153
« 1 »
  Strona 1 z 1