Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++] Reverse di una stringa tramite ricorsione

    Buongiorno a tutti, apro questa nuova discussione per via di un problema che ho avuto durante lo svolgimento di un esercizio assegnatomi all'università, il testo è il seguente:

    Data una stringa s scrivere una funzione ricorsiva che inverte la stringa:

    int ricInverti(char str[], char str1[]);
    (Nota: il valore intero restituito non e' pleonastico nella definizione della funzione, in cosa deve consistere?)

    Sembra semplice ma non ho capito a cosa possa servire e come può essere usato il valore restituito dalla funzione...

    Vi ringrazio, in attesa di una vostra risposta!

  2. #2
    Suppongo che sia soltanto un valore per controllare il valore di ritorno della funzione in fase di debug ovvero se la funzione è andata a buon fine o meno. Esempio:
    codice:
    int ricInverti(char str[], char str1[])
    {
        ... //esegui le istruzioni da eseguire
        return 1;
    }
    Nel main (ovvero dove la funzione viene chiamata):

    codice:
    int main(int argc, char* argv[])
    {
       ...//esegui istruzioni 
        /*adesso devi chiamare la funzione per invertire la stringa*/
        if ( ricInverti(stringa, stringa1) != 1)
            printf("errore inversione stringa\n");
    }
    controlli se il valore restituito dalla funzione è proprio quello o differisce.
    CIAO

  3. #3
    Possibile sia così banale? Perchè in pratica l'esercizio si basa proprio sull'utilizzo del return altrimenti sarebbe stato facile...

  4. #4
    Credo sia la spiegazione più semplice. Poi sta al testo dell'esercizio specificare in particolare se deve essere fatta qualche altra cosa con questo valore ritornato. Un altra cosa che mi viene in mente è per esempio che potrebbe essere ritornato il numero di caratteri invertiti, per poi confrontarlo con la lunghezza della stringa, ma sono solo miei penseri. Come ti ho detto magari l'esercizio dice qualcosa a riguardo, anche se la prima cosa che mi viene in mente è proprio quella che ti avevo descritto sopra

  5. #5
    Spero sia così perchè altrimenti non so proprio come sia possibile utilizzare questo return...nemmeno come indice dell'array visto che viene richiamata la stessa funzione senza poter eseguire l' istruzione...nè come altro...

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.