mam jakąś liczbę int n = 987654321.
jak wpisać każdą kolejną cyfrę do osobnej komórki w tablicy T?
czyli T[0] = 9, T[1] = 8, T[2] = 7 itd.
Wersja do druku
mam jakąś liczbę int n = 987654321.
jak wpisać każdą kolejną cyfrę do osobnej komórki w tablicy T?
czyli T[0] = 9, T[1] = 8, T[2] = 7 itd.
możesz wyciągać modulo 10, dzielić na 10, brać z tego podłogę aż się skończy na przykład
Dobrze zakius gada. Miałem podobny algorytm przy tworzeniu algorytmu na znalezienie fałszywej monety, jednak tam zastosowałem rozwiązanie rekurencyjne.
Problemem może być to, że liczby będą w tablicy zapisane od tyłu.
Możesz to rozwiązać tak, że najpierw zliczysz ilość cyfr w liczbie a potem będziesz zapisywał do tablicy od tylu.
a po co się w takie coś bawić, skoro można na przykład:
i już maszKod:int n = 987654321;
char T[9];
sprintf(T, "%d", n);
Chciał cyfry a tak otrzyma tablicę znaków których wartości liczbowe będą równe kodom ascii znaków reprezentujących cyfry.
Nie wiem czy chciał cyfry, bo nie napisał nic o tym, jakiego typu ma być tablica T. W każdym razie, co to za problem zamienić char '9' na int 9?
tak, chciałem cyfry, rozwiązanie zakiusa działa perfekcyjnie, dzięki
Kod:
for (i = 0; i <= 10; i++)
{
T[i] = a%10;
a = a/10;
}