Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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: 5686
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: 5686
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