Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

program zamieniający liczby w systemie 10 na 2. -rekurencja

22 Mar 2006 16:51 1239 1
  • Uczeń
    mam pytanie

    #include<conio.h>
    #include<stdio.h>
    int k_dwojkowy(int);
    int main ()
    {
    int liczba;
    printf ("Podaj liczbe calkowita (q konczy program):\n");
    while (scanf("%d", &liczba)==1)
    {
    printf ("ta liczba w kodzie dwojkowym to: ");
    k_dwojkowy(liczba);
    printf("\n");
    printf ("Podaj liczbe calkowita (q konczy program):\n");
    }
    return 0;
    }


    int k_dwojkowy(int n)
    {
    int r;
    r=n%2;
    if (n>=2)
    k_dwojkowy(n=(n/2));
    putchar ('0'+r);
    return r;
    }

    jest to kod przepisany z książki i w dużej części przeze mnei zmieniony na wydaje mi się bardziej zrozumiały - nie mogę tylko jeszcze zamienić
    putchar ('0'+r) na instrukcję z PRINTF - da się jakoś putchar ('0'+r) zamienić na printf - bo jakich kolwiek sposobów zamiany bym się nie podjął to i tak program zwraca złe wartości ???????

    Dodano po 32 [minuty]:

    problem już rozwiązany zamiast putchar wystarczyło po prostu wpisać:
    printf("%c", '0'+r);