minomic ha scritto:
Alla fine del ciclo for per la lettura dei numeri, 'i' è uguale a 'cifre', quindi non entra mai nel while.
non ho capito bene che vuoi dire
minomic ha scritto:
Altro errore che non avevo visto: quando leggi i numeri fai
scanf ("%d", &binario[cifre]);
ma ovviamente 'cifre' va sostituito con 'i'.
qui ho corretto l'errore, ma ancora non funziona
Ho provato a cambiare alcune cose ma ancora niente
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int decimale,cifre,A,B,decimale1,decimale2,c,i;
main (){
printf ("inserisci quante cifre, o bit, compongono il binario: ");
scanf ("%d", &cifre);
int binario[cifre]; //la dichiarazione del vettore va fatta sempre DOPO lo scanf dell'indice "cifre"
for (i=0; i<cifre; i++){
printf ("inserisci le cifre del numero binario un bit alla volta, da dx verso sx: "); //bisognerebbe escludere la digitazione di numeri diversi da 1 e 0...
scanf ("%d", &binario[i]);
}
for (i=0; i<cifre; i++) {
for (c=0; c<cifre; c++){
A=binario[i]*pow(2,c);
decimale1=A;
i++;
c++;
B=binario[i]*pow(2,c);
decimale2=decimale1+B;
}}
if (decimale1>decimale2){decimale=decimale1;}
else {decimale=decimale2;}
printf ("il numero decimale e':%d ",decimale);
system ("PAUSE");
return 0;
}