Jak podzielić liczbe na cyfry?

2011-10-03 18:33
0

Mam za zadanie:

  1. Schematy blokowe c.d. - algorytmy iteracyjne.

2a. Oblicz sumę cyfr liczby naturalnej K.
2b. Ile cyfr znaczących ma liczba naturalna K ?
2c. Jaka jest najstarsza (pierwsza z lewej) cyfra liczby naturalnej K ?
2d. Czy w zapisie liczby naturalnej K występuje cyfra C ?
2e. Jaka jest największa cyfra liczby naturalnej K ?
2f. Jaka cyfra występuje najczęściej w zapisie liczby naturalnej K ?

Jak się za to wziąć? Da się jakoś podzielić "inta" na tablicę cyfr? Jest coś takiego jak atoi z c++ w javie?
Nie chce rozwiązań zadań tylko sposób jak rozdzielić liczbę.

edytowany 1x, ostatnio: olesio, 2012-11-05 16:09

Pozostało 580 znaków

2011-10-03 18:42
bo
0

Kolejne cyfry (od końca) dostaniesz obliczając resztę z dzielenia liczby przez 10.

while(liczba>0) // drobna zmiana jest wymagana gdy liczba jest ujemna
{
    kolejna_cyfra=liczba % 10;
    liczba/=10;
}

Możesz też zamienić liczbę na String:

String txt=liczba+"";

Pozostało 580 znaków

2011-10-03 18:44
qwerty
0

dziel ją przez %(modulo) dziesięć i sprawdzaj wynik!

Pozostało 580 znaków

2011-10-06 22:59
0

Możesz liczbę zamienić na Stringa, potem na tablicę znaków i masz każdą cyfrę jako chara w tablicy. Wybierz podejscie jakie Ci pasuje najlepiej


Pozostało 580 znaków

2012-11-04 18:04
Snickerss
0

a mam pytanie do podpunktu 2.1 (oblicz sumę cyfr...)
skoro wyciągnąłem cyfry z liczby k tak jak to bylo napisane wyżej (za pomocą %) w pętli while to jak moge wyciągnąć te cyfry na zewnątrz pętli, aby je zsumować ??

Pozostało 580 znaków

2012-11-04 18:26
0

zmienną, która je przechowuje zadeklaruj przed blokiem pętli

Pozostało 580 znaków

2012-11-04 19:15
0

Sumuj w tej pętli.

int suma = 0;
while(liczba>0) // drobna zmiana jest wymagana gdy liczba jest ujemna
{
    kolejna_cyfra=liczba % 10;
    suma+=kolejna_cyfra;
    liczba/=10;
}

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
liczba naturalna nie może być ujemna ;p - kult 2012-11-04 19:37

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0