dev c++, errore convertitore da numero intero a binario

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
nocolon
Prode Principiante
Messaggi: 1
Iscrizione: lunedì 2 marzo 2015, 20:35
Sesso: Maschile

dev c++, errore convertitore da numero intero a binario

Messaggio da nocolon »

Codice: Seleziona tutto

#include<iostream>
#include<stdio.h>
using namespace std;

int main () {
    int n, cifra;
    do { cout<<"inserisci un numero in base dieci"<<endl;
         cin>>n;
         }while(n<=0);
         
   do{
          if (n%2==0){
          cifra=0;}
          else {
               cifra=1;}
               n=n/2;
               cout<<cifra;
               }
   while (n>0);
   
  
          fflush(stdin);
          getchar();
          return 0;
               
                      
          
          
  }

ecco il codice del mio convertitore da numero intero a binario. purtroppo il programma mi stampa i numeri al contrario!
esempio:
se inserisco 39 il programma mi stampa "111001", mentre il numero convertito sarebbe "100111".

sapreste dirmi come far stampare il numero nella sequenza giusta? e se riuscite a farmi un esempio sul codice per capire meglio.
grazie mille per le eventuali risposte
1001001
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1506
Iscrizione: mercoledì 22 dicembre 2010, 18:09
Desktop: Unity
Distribuzione: Ubuntu 14.04.1 LTS 64bit
Località: Verona

Re: dev c++, errore convertitore da numero intero a binario

Messaggio da 1001001 »

Ciao! La cosa più semplice che puoi fare è salvare le cifre binarie in un vettore e poi stamparlo al contrario

PS: dev c++ no, ti prego
"I find your lack of faith disturbing."
Avatar utente
theScreamer
Prode Principiante
Messaggi: 121
Iscrizione: giovedì 18 marzo 2010, 18:04
Desktop: Gnome
Distribuzione: Debian 6
Sesso: Maschile

Re: dev c++, errore convertitore da numero intero a binario

Messaggio da theScreamer »

Sono anch'io dell'idea di usare un vettore, ecco qui un esempio:

Codice: Seleziona tutto

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
 int n, arr[64], i=0, r;

 do { 
  cout<<"inserisci un numero in base dieci"<<endl;
  cin>>n;
 } while (n <= 0);
 
 while(n != 0) {
   r = n % 2;
   arr[i++] = r;
   n /= 2;
 }

 for(int j = i - 1; j >= 0; j--)
  cout<<arr[j];

 fflush(stdin);
 getchar();
 return 0;
}
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: dev c++, errore convertitore da numero intero a binario

Messaggio da vaeVictis »

Stesso identico problema, già trattato e già risolto
Detto questo, fflush su stdin ha un comportamento impredicibile e non si usa. Anche qui, con una ricerca nel forum ottieni tonnellate di discussioni in cui se ne parla e si indicano varie soluzioni.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 7 ospiti