Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    [C++] funzione ricorsiva

    Ciao ragazzi sono di nuovo qui alle prese con le funzioni ricorsive... ho scritto un programmino stupido che riceve in input un numero n e lo somma a se stesso fino a quando la somma non è pari a 10... purtroppo la somma mi da sempre 1 e non capisco perchè... chi è così gentile da aiutarmi??


    codice:
    
    #include <iostream>
    
    
    using namespace std;
    
    int sum (int);
    
    
    int n;
    int t;
    
    int main()
    {
    	cout<<"inserire un intero da sommare a se stesso"<<endl;
    
    	cin>>n;
    
    	cout<<"la somma e'  "<< sum <<endl;
    
    	cout<<"\ntasto"<<endl;
    	cin>>t;
    
    	return 0;
    }
    
    int sum (int n)
    {
    	
    	if(n==10)
    		return 10;
    		
    	else 
    	
    		return n + sum (n);
    }
    L'aura.

  2. #2
    La tua procedura è un ciclo infinito, visto che continui a passare in ricorsione lo stesso parametro in ingresso.
    E poi come richiami sum? Neanche glielo passi n.
    ...

  3. #3
    potresti gentilmente aiutarmi?... non riesco proprio a uscirne...
    L'aura.

  4. #4
    Certo che posso aiutarti, cosa c'é che non ti è chiaro?
    ...

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Originariamente inviato da Caiodark
    Certo che posso aiutarti, cosa c'é che non ti è chiaro?
    Credo le funzioni in generale...
    La chiamata dovrebbe essere: sum(n)
    Come ha detto Caiodark la tua funzione crea un ciclo infinito inquanto n sarà sempre uguale a quello di base...
    Inoltre non hai alcuna sicurezza di arrivare a 10 con la somma quindi dovresti porre dei limiti alla funzione e fare alcuni controlli...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308

    Re: [C++] funzione ricorsiva

    Originariamente inviato da Laletta
    ... un numero n e lo somma a se stesso fino a quando la somma non è pari a 10...
    E se n=3 come fa 3+3+3... ad arrivare a 10?

  7. #7
    mmmh giusto... cioè io ho fatto un esercizio giusto per esercitarmi, perchè la funzione ricorsiva proprio non mi riesce ((
    L'aura.

  8. #8
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Alcuni esempi di esercizi:
    Fibonacci
    Fattoriale
    La più piccola potenza di un numero che ne superi un'altro: es la più piccola potenza di 2 che superi 1000
    Il più piccolo multiplo di un numero che ne superi un'altro
    Svariati esercizi sulle liste e sugli alberi binari...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #9
    purtroppo le ho già consultate tutte ste cose
    L'aura.

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Originariamente inviato da Laletta
    purtroppo le ho già consultate tutte ste cose
    Strano: il 4 e il 5 sono riadattamenti dell'esercizio da te proposto qui e non mi sembra tu sia riuscito a risolverlo. Gli esercizi fattibili sulle liste e sugli alberi binari sono infiniti: vanno dall'implementazione delle operazioni base (inserimento, ricerca, rimozione, per l'albero binario ribilanciamento) ad operazioni più complesse (sorting, folding, mapping, filtering, azioni specifiche sulla struttura dati, ...)
    Tutto implementabile con la ricorsione e senza l'uso di cicli.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.