Funzione ricorsiva ... piccoli problemi!

di il
8 risposte

Funzione ricorsiva ... piccoli problemi!

1 problema
Scrivere una funzione ricorsiva C++ che calcoli il prodotto di due numeri interi forniti come parametri utilizzando solo l'operatore algebrico di addizione.

2 problema
Scrivere una funzione ricorsiva C++ avente il seguente prototipo
float power(int a, unsigned int b);
che calcoli la potenza a^b.


vorrei capirli , qualcuno potrebbe gentilmente spiegarmeli? grazie in anticipo

8 Risposte

  • Re: Funzione ricorsiva ... piccoli problemi!

    Ciao gaab, come sicuramente saprai avendo letto il regolamento, qui non si fanno i compiti.
    Dei due esercizi che hai postato, cosa esattamente non ti è chiaro?
    Cosa hai scritto, cosa non funziona, perché secondo te?
    Facci vedere cosa hai scritto e dove ti sei bloccato, e ti aiuteremo se possibile
  • Re: Funzione ricorsiva ... piccoli problemi!

    Questo è ciò che ho pensato.. ma non so se funziona per il primo...se capisco il primo automaticamente dovrei capire il secondo.
    
    #include <stdio.h>
    #include <iostream>
    using namespace std;
    int funzioneRicorsiva(int n, int m);
    
    int main(int argc, char **argv)
    {
    	int a, b;
    	cin>>a;
    	cin>>b;
    	cout<<funzioneRicorsiva(a, b);
    	return 0;
    }
    
    
    int funzioneRicorsiva(int n, int m)
    {
    	int prodotto=0;
    	if (n>1)
    		prodotto=m+funzioneRicorsiva(n-1,m);
    	else 
    		prodotto=m;
    	return prodotto;
    
    }
    
  • Re: Funzione ricorsiva ... piccoli problemi!

    gaab ha scritto:


    Questo è ciò che ho pensato.. ma non so se funziona per il primo.
    Provarlo no?
  • Re: Funzione ricorsiva ... piccoli problemi!

    Ho dovuto installare il compilatore perchè quelli inclusi nell'ambiente di sviluppo non fungevano...per questo ho chiesto aiuto... ora provo a fare il secondo e ti faccio sapere... comunque funziona!! \
  • Re: Funzione ricorsiva ... piccoli problemi!

    gaab ha scritto:


    ho dovuto installare il compilatore perchè quelli inclusi nell'ambiente di sviluppo non fungevano...per questo ho chiesto aiuto... ora provo a fare il secondo e ti faccio sapere... comunque funziona!! \
    Scusa .... ma mi sembra una discussione surreale ...

    1) chiedi aiuto su codici da compilare che non mostri
    2) mostri il codice senza sapere se funziona o no perché non hai installato il compilatore
    3) installi il compilatore e vedi che il codice funziona

    Risultato ... abbiamo PERSO tutti del tempo ...
  • Re: Funzione ricorsiva ... piccoli problemi!

    Ti spiego .. utilizzo codelite, e sotto windows con i compilatori da un po' di problemi , specialmente con la versione 7. Ho provato più volte ad reinstallare l'ambiente ma nulla e nel frattempo, perchè mi serviva sapere urgentemente il risultato della funzione, ho aperto questa discussione; non credevo di riuscire a risolvere il problema "compilatore"!
  • Re: Funzione ricorsiva ... piccoli problemi!

    Codelite e' un IDE (Integrated Development Environment), non un compilatore. E, dalla documentazione, l'installazione non prevede il compilatore. Tu lo hai installato? Il compilatore, intendo¿
    Se si, quale compilatore? Che versione? Cygwin? Mingw?
    Hai configurato Codelite per usare esattamente il compilatore che hai installato?

    Per quanto riguarda gli esercizi, per prima cosa devi definire, con carta e matita che cosa e' una moltiplicazione in termini di somma. E questa e' roba da scuole elementari.
    Poi, usare il principio di induzione per definire la moltiplicazione. Se non sai che cosa e', c'e' sempre il libro di testo e wikipedia!
    Solo a questo punto puoi pensare di fare un'implementazione.

    Esattamente gli stessi passaggi per l'elevamento a potenza!
  • Re: Funzione ricorsiva ... piccoli problemi!

    Se noti ho fatto una distinzione tra compilatore e ambiente di sviluppo .. E poi codelite installa direttamente come compilatore minigw ma qua sforiamo in altri discorsi.. comunque ho risolto! Grazie mille per l'aiuto!
Devi accedere o registrarti per scrivere nel forum
8 risposte