Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    87

    [C++] Funzione ricorsiva

    Ciao avrei un problemone.In pratica ci è stato dato un certo esercizio,il cui testo richiede di scrivere il codice della funzione ricorsiva "req",che,dati due array di char in ingresso con le loro dimensioni,restituisce un booleano che dice se i due array sono uguali o meno.Già qui..cosa si intende per array uguali? stesse dimensioni?stesso contenuto?o entrambi? io l'ho interpretata come se dovessero avere dimensioni e contenuti identici. Quindi ho scritto:

    #include<iostream>
    using namespace std;
    bool req(char x[],int dimx,char y[],int dimy)
    {
    int i;
    if(dimx!=dimy)
    {
    return false;
    }
    else
    {
    if(dimx==0)/*ho messo dimx ma potevo mettere anche dimy,nel primo if
    chiede se sono diversi,se non lo sono allora sono uguali immagino*/
    {
    return true;
    }
    else
    {
    if(x[dimx-1]!=y[dimy-1])
    {
    return false;
    }
    else
    {
    return req(x,dimx-1,y,dimy-1);
    }
    }
    }
    }

    il problema è che provando ad implementarla in un programma mi sembra sempre più inutile stringa dopo stringa:

    int main()
    {
    char a[5];
    char b[5];
    int dima=5;
    int dimb=5;
    cout<<"inserisci prima parola lettera per lettera\n";
    for (int i=0;i<5;i++)
    {
    cin>>a[i];
    }
    cout<<"inserisci seconda parola lettera per lettera\n";
    for (int j=0;j<5;j++)
    {
    cin>>b[j];
    }
    cout<<"controllo se sono uguali....\n"<<req(a,dima,b,dimb);
    system("pause");
    return 0;
    }

    Cioè sarebbe stata carina se mettendo direttamente una parola lui controllasse quante lettere la compongono almeno,perchè se già inizializzo i vettori con determinate dimensioni il controllo nella funzione non serve a niente.E' questo che mi fa dubitare della correttezza del mio programma :\. Grazie ciao!

  2. #2
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    E' mal indentato e si capisce poco.Usa i tag code.

  3. #3

    Re: [C++] Funzione ricorsiva

    Originariamente inviato da Satiro88
    Ciao avrei un problemone.In pratica ci è stato dato un certo esercizio,il cui testo richiede di scrivere il codice della funzione ricorsiva "req",che,dati due array di char in ingresso con le loro dimensioni,restituisce un booleano che dice se i due array sono uguali o meno.Già qui..cosa si intende per array uguali? stesse dimensioni?stesso contenuto?o entrambi? io l'ho interpretata come se dovessero avere dimensioni e contenuti identici.
    Devi porti un'ulteriore domanda:
    l'ordine in cui sono disposti gli elementi è importante oppure no?

    Ad esempio hai:
    A = {'a', 'b', 'c'}
    B = {'b', 'a', 'c'}

    Se consideri l'ordine allora sono diversi, altrimenti sono uguali.

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.