PDA

Visualizza la versione completa : [C++] Decimale->Binario


Arthemis
23-01-2005, 17:38
Ciao sto facendo un programma in C++ per convertire un decimale in binario. La compilazione va bene ma quando lo eseguo, dopo aver inserito numero da convertire, mi da errore Windows.
Questo il codice, perfavore aiutatemi.

Codice:

//DecToBit2
#include <iostream>
#include <stdlib.h>

using namespace std;

int DecToBit(int,int *);

int main()
{
int numero;
int bin[100];
int contatore;


std::cout<<"Inserisci il numero decimale intero da convertire in binario"<<endl;
std::cin>>numero;
DecToBit(numero,bin);
for(contatore=0;bin[contatore]!='\0';contatore++)
{
std::cout<<bin[contatore];
}
system("Pause");
}


int DecToBit(int num,int *binario)
{
int resto;
for(int i=0;num!=0;i++)
{
num=num/2;
resto=num%2;
if(resto==0)
{
binario[i]=0;
}
if(resto!=0)
{
binario[i]=1;
}
}


};

bako
23-01-2005, 17:52
dectobin(int n){
char sol[mettici un numero]
while(n>=0){
if (n%2==0) sol=sol+0
else sol=sol+1
n=n/2;
}

}

dovrebbe funzionare questa..

sol=sol+0
sol=sol+1
nn si possono fare in c .. nn mi ricordo come si concatena un carattere ad una stringa..

anx721
23-01-2005, 19:37
//DecToBit2
#include <iostream>
#include <stdlib.h>

using namespace std;

void DecToBit(int,int *);

int main()
{
int numero;
int bin[100];
int contatore;
int *pun;
pun=bin;
std::cout<<"Inserisci il numero decimale intero da convertire in binario"<<endl;
std::cin>>numero;
DecToBit(numero,pun);
std::cout <<endl <<endl;
//devi stampare bin[contatore], non contatore che solo il puntatore
for(contatore=0;bin[contatore]!= -1;contatore++)
{
std::cout<<bin[contatore];
}
std::cout <<endl <<endl;
system("Pause");
return 0;
}


void DecToBit(int num,int *binario)
{
int resto;int i;
for(i=0;num!=0;i++)
{
//devi prima calcolare il resto e poi dividi per due
//se no il resto risulta quello dell'iterazione succesiva
resto=num%2;
num=num/2;

if(resto==0)
{
binario[i]=0;
}
if(resto!=0)
{
binario[i]=1;
}

}
//alafine utilizza -1 per segnare la fine del numero, no '\0' che vale
//zero come intero e zero gia lo usi per indicare il bit zero
binario[i]=-1;

};

Loading