PDA

View Full Version : [C++]Incremento di numero binario


<Gabrik>
14-10-2008, 16:57
Allora ho un problema praticamente devo leggere un numero binario come una stringa e poi tramite una funzione ricorsiva incrementarlo di 1, allora la lettura della stringa l'ho fatta ma non riesco a capire come impostare la funzione :mc:

Ecco il codice:


#include<iostream.h>
#include<stdio.h>
void incr(char num[40]);
int main()
{
char n[40];
cout<<"insersci un numero binario: ";
gets(n);
incr(n);
cout<<"Numero incrementato: ";
}
void incr(char num[40])
{
//Funzione ricorsiva
}


:help:

wisher
15-10-2008, 00:06
La funzione dovrebbe agire pių o meno in questo modo:
Passa come parametri l'array e l'indice del primo carattere. Il valore di ritorno deve essere il riporto dell'operazione.
Puoi eseguire i calcoli partendo dalla cifra pių significativa (fai attenzione all'overflow dell'ultimo bit) calcolandone il valore della cifra i-esima come valore precedente della cifra i-esima + riporto della cifra(i-1).
Ovviamente la ricorsione termina quando ti trovi alla cifra meno significativa.

<Gabrik>
15-10-2008, 09:55
ok grazie credo di aver capito

Mesh89
15-10-2008, 11:17
Devi proprio farlo ricorsivo? Iterativo sarebbe molto meglio...

<Gabrik>
15-10-2008, 14:52
si ma purtroppo la proff di info lo vuole ricorsivo :muro: altrimenti sarebbe stato semplice, č da settembre che ci tortura a furia di funzioni ricorsive che alla fine non hanno senso per le cose che ci fa fare lei :rolleyes:

DanieleC88
15-10-2008, 20:25
Se vi fa insistere con la ricorsione č solo per "esercizio logico". ;)