ANSI C - dec na bin

ANSI C - dec na bin
kryspeq
  • Rejestracja:około 14 lat
  • Ostatnio:około 11 lat
  • Postów:8
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.

Kopiuj
    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");
K5
  • Rejestracja:około 12 lat
  • Ostatnio:około 7 lat
  • Lokalizacja:Tutaj,obok
  • Postów:759
0

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


Jeśli mój post jest dowodem mojej niekompetencji, to trudno, ale po to pytam, żeby się czegoś dowiedzieć.
edytowany 1x, ostatnio: kacper546
Endrju
  • Rejestracja:około 22 lata
  • Ostatnio:ponad rok
0

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

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


"(...) otherwise, the behavior is undefined".
edytowany 1x, ostatnio: Endrju
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
0

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
kryspeq
  • Rejestracja:około 14 lat
  • Ostatnio:około 11 lat
  • Postów:8
0

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

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

edytowany 2x, ostatnio: kryspeq
K5
  • Rejestracja:około 12 lat
  • Ostatnio:około 7 lat
  • Lokalizacja:Tutaj,obok
  • Postów:759
0

Pokaż cały kod.


Jeśli mój post jest dowodem mojej niekompetencji, to trudno, ale po to pytam, żeby się czegoś dowiedzieć.
kryspeq
  • Rejestracja:około 14 lat
  • Ostatnio:około 11 lat
  • Postów:8
0

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

Kopiuj
#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;
}
_13th_Dragon
A naciskasz przycisk kompiluj czy tylko uruchom?
K5
  • Rejestracja:około 12 lat
  • Ostatnio:około 7 lat
  • Lokalizacja:Tutaj,obok
  • Postów:759
0

U mnie jest jak trzeba.


Jeśli mój post jest dowodem mojej niekompetencji, to trudno, ale po to pytam, żeby się czegoś dowiedzieć.
kryspeq
  • Rejestracja:około 14 lat
  • Ostatnio:około 11 lat
  • Postów:8
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.

n0name_l
Wersja dev'a? Bo prawdopodbnie maja porownywalny (jak nie identyczny) ten kompilator...
msm
Pewnie problem build&run vs run ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.