Pagina 1 di 1

Binario-Decimale(C)

MessaggioInviato: 29 ott 2009, 16:49
da bob93
Salve...mi potreste dire dove ho sbagliato??...E' un programma che converte i numeri binari in decimale....grazie
Codice: Seleziona tutto
include <stdio.h>
#include <stdlib.h>
#include <math.h>

main()

{
      int i,b[16],r;
     

      i=0;
      do{
          printf("Scrvi b");
          scanf("%d",&b[i]);
         i++;
         }while(b[i-1]==0 || b[i-1]==1);
         
         
         
          r=0;
          while(i>=0){
                      i--;
                      r=r+ pow(b[i],i);
                     
                      }
                     
                      printf("%d\n",r);
                     
                     
                     
                      system("pause");
                      }

Re: Binario-Decimale(C)

MessaggioInviato: 29 ott 2009, 16:58
da Paolino
ok, ma prova a ragionare. Altrimenti, al solito, fai le domande e poi sparisci più veloce di quello che superava la Luce in velocità :mrgreen:

Intanto analizza qui:
Codice: Seleziona tutto
i=0;
      do{
          printf("Scrvi b");
          scanf("%d",&b[i]);
         i++;
         }while(b[i-1]==0 || b[i-1]==1);

Qual è la condizione di uscita dal ciclo do-while ? Un valore di b[] diverso da 1 o da 0? Per esempio 2? Ok, ma quanto è grosso il vettore b[]? E se continuassi a inserire valori 1 o 0 facendo aumentare i a dismisura?????

Ciao.

Paolo.

P.S. Personalmente "odio" i cicli do-while()... Ora, non so se in questo caso si poteva fare diversamente (probabilmente sì), ma avrei preferito un while() secco!

Re: Binario-Decimale(C)

MessaggioInviato: 29 ott 2009, 17:03
da c1b8
Stavo postando la soluzione, poi leggo Poalino che ti suggerisce di ragionare e allora procediamo in modo diverso.

Oltre a quanto indicato da Paolino, che comunque non è a mio avviso l'errore, esiste un errore molto più grossolano:
prova a scrivere una conversione su carta e confrontala con quanto hai scritto.

Re: Binario-Decimale(C)

MessaggioInviato: 29 ott 2009, 17:07
da Paolino
Sì, Fabio. Volevo procedere per gradi fecendo analizzare passo a passo il codice a bob93. Sarei arrivato dopo al tuo quesito. :mrgreen:

Ciao.

Paolo.

P.S. bob93, aspettiamo tuoi commenti ;-)

Re: Binario-Decimale(C)

MessaggioInviato: 6 nov 2009, 13:18
da posta10100
Secondo me con quel codice rischi di far fuori qualche dato nella ram.... meglio non pensare alle conseguenze!
Magari proprio il contenuto della variabile i... o r...