Buongiorno a tutti,
sono alle prime armi con il ling. di programmazione e devo risolvere un esercizio:
convertire un numero in binario
//Direttiva al preprocessore
#include <iostream>
using namespace std;
#include <math.h>
//N=100
#define N 100
//Definisco il tipo intero array: vettore[N]
typedef int vettore[N];
int main () {
//Dichiaro le variabili
int numero,uscita;
int i=0;
int j=0;
int n;
vettore resto;
vettore definitivo;
cout<<"Inserire il numero che vuoi trasformare in binario: ";
cin>>numero;
cout<<endl;
uscita=numero;
do{
resto[i++]=uscita%2;
uscita=uscita/2;
}
while ( uscita>=1 );
/*********
SCRITTURA MANUALE
cout<<"il valore in binario e': " <<resto[0]<<resto[1]<<resto[2]<<resto[3]<<endl;
********/
//Scrittura con il ciclo for
n=i;
for (i=0;i<n;i++)
cout << resto[i];
cout<<endl;
/*************************
Da questo punto in poi, ho tentato più volte di riuscire ad ordinare l'array, senza alcun risultato positivo.
So che devo far corrispondere al resto[i] (nel caso in cui i=max) l'array definitivo[j] (con j=0),
però non riesco a scriverlo in un codice accettabile.
********************************/
//Numero in binario invertendo la divisione in successione
for (j=0; j<n; j++){
definitivo[j++];
for (i=n;i>0;i--)
definitivo[j]=resto[i];
cout << definitivo[j];
}
cout<<endl;
system ("PAUSE");
return 0;
}