Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Capovolgere un vettore?
Forum - C/C++ - Capovolgere un vettore?

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 13:44
Domenica, 16/03/2014
Codice sorgente - presumibilmente C++

  1. void Deci_Bin(){
  2.     int A,i;
  3.     int V[MAX];
  4.     printf("Inserisci un numero decimale: ");
  5.     scanf("%d",&A);
  6.     i=0;
  7.     while(A!=0){
  8.             V[i]=A%2;
  9.             A=A/2;
  10.             printf("%d - ",V[i]);
  11.             i=i+1;
  12.             }
  13.            
  14.     return ;
  15.     }


Questa è una procedura che converte un numero decimale inserito in un numero binario attraverso un vettore. l'unico problema è che dovrei capovolgere il vettore nel senso che per esempio, il numero 6 non viene visualizzato così: 110 ma viene visualizzato con 011, qualcuno sa dirmi come posso fare?:hail:

PM Quote
Avatar
ale.gatti96 (Member)
Pro


Messaggi: 71
Iscritto: 29/11/2011

Segnala al moderatore
Postato alle 14:53
Domenica, 16/03/2014
Non fai il printf nel while,  ma dopo fai un for in cui scorri l'array al contrario e stampi i bit

Ultima modifica effettuata da ale.gatti96 il 16/03/2014 alle 14:54
PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 15:05
Domenica, 16/03/2014
Ci avevo pensato, ma siccome io ho dato una dimensione massima al vettore che è per esempio 30, per la conversione in binario magari uso solo alcune celle del vettore, le prime tipo la cella 0 poi quella 1 poi quella 2 ecc... se stampo al contrario stampo la cella 30, poi quella 29 ecc...

PM Quote
Avatar
ale.gatti96 (Member)
Pro


Messaggi: 71
Iscritto: 29/11/2011

Segnala al moderatore
Postato alle 15:10
Domenica, 16/03/2014
Allora inizializzi l'array a -1.
Poi nel for stampi solo se è diverso da - 1.

PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 15:15
Domenica, 16/03/2014
Non ho capito, inizializzo l'indice del vettore a -1 e poi dopo che ho convertito il numero decimale ed ho il numero binario, stampo solo se l'indice non è -1?

PM Quote
Avatar
ale.gatti96 (Member)
Pro


Messaggi: 71
Iscritto: 29/11/2011

Segnala al moderatore
Postato alle 15:30
Domenica, 16/03/2014
No,  inizializzi gli elementi dell'array a - 1.
Cosi dopo il while saranno - 1, 0 oppure  1. Quindi sai quali devi stampare (0 e 1).

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:40
Domenica, 16/03/2014
Con il codice che hai mostrato puoi usare i per sapere da dove visualizzare i bit.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 15:41
Domenica, 16/03/2014
scusami ma non ho capito :alert: :-|

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:43
Domenica, 16/03/2014
Chiediti questa linea

i=i+1

a cosa ti serve.

E fuori dal ciclo, quanto vale i


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo