ANSI C - dec na bin

0

Witam. Dziś na wykładzie profesor zaprezentował nam krótki program do zamiany liczby dziesiętnej na binarną. Po przepisaniu kodu i skompilowaniu program nic nie generuje. Prosiłbym o zerknięcie i skorygowanie błędów.

    int i=0,k,n=5,p,x;
    int a[5]={0};
    printf("Podaj liczbe");
    scanf("%d",&x);
    do 
    {
        if(x%2) 
        a[i++]=1;
        else
        a[i++]=0;
        x=x/2;
    }
    while(x>0);  
    for(i=0;i<5;i++) printf("%d",a[i]);
    printf("\n");
0

W jakim sensie nic nie generuje ???
Mi działa dobrze.
Musisz wstrzymywać program jeśli dobrze rozumiem.

0

Coś tam generuje: http://ideone.com/vxYWmS

Tylko wypisywać powinieneś odwrotnie, będzie bardziej intuicyjnie.

0

Ciągle to samo.. Być może to wina kompilatora?

a tu wynik:
http://i50.tinypic.com/2iu5bo4.png

0

Pokaż cały kod.

0

Jest w pierwszym poście. No ale masz jeszcze raz.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int i=0,k,n=5,p,x;
    int a[5]={0};
    printf("Podaj liczbe");
    scanf("%d",&x);
    do 
    {
        if(x%2) 
        a[i++]=1;
        else
        a[i++]=0;
        x=x/2;
    }
    while(x>0);  
    for(i=0;i<5;i++) printf("%d",a[i]);
    printf("\n");
  system("PAUSE");	
  return 0;
}
0

U mnie jest jak trzeba.

0

Najciekawsze że tylko w Dev'ie mi ten program nie działa, Code Bloks normalnie go kompiluje. Więc okazało się że to wina kompilatora ale i tak dzięki za pomoc.

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