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

    [c++] stringa contenuta in un'altra stringa.

    devo fare questo esercizio:
    l'utente deve inserire due stringhe di caratteri di dimensione qualsiasi e con un sottoprogramma devo verificare se la seconda stringa è contenuta nella prima.
    io ho fatto un po' cosi:
    void ricerca( int dimensione1, int dimensione2, char stringa[max], char stringa1[max])
    {
    for ( int i=0; i<dimensione1; i++)
    {
    for ( int j=0; j<dimensione2; j++)
    {
    [I]if ( stringa== stringa[j])
    {
    cout<<" e' contenuto\n";
    }
    else
    {
    cout<<" non e' contenuto\n";
    }
    }
    }

    }
    non so se vada bene. Mi parte, ma quando va a controllare mi stampa un sacco di volte la scritta è contenuta e non.
    dopo aver fatto questo, devo vedere anche quante volte è contenuta la seconda stringa nella prima. grazie per l'aiuto

  2. #2
    Il programma è in c++, perché non utilizzare la classe string, con i suoi metodi, ad esempio find() ?
    Risolveresti con un paio di righe di codice.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    scusa, sono inesperto, ma che funzione è?
    i puntatori io non li ho fatti.

  4. #4
    non si tratta di una funzione, le classi le conosci ?
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    No.. cosa è questa roba. Io so fino agli array e ora devo fare gli esercizi.
    Mi va bene anche un metodo lungo e banale

  6. #6
    In questo caso il titolo non è esatto, non si tratta di codice C++, ma di codice scritto in C.
    Mostra cosa hai scritto e lavoriamo su quello.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  7. #7
    #include <iostream>using namespace std;
    # define max 50
    void leggi ( int dimensione, char stringa[max]);
    void ricerca( int dimensione1, int dimensione2, char stringa[max], char stringa1[max]);




    int main ()
    {
    int dimensione1, dimensione2;
    char stringa[max]; char stringa1[max];


    cout<<" inserire la prima dimensione\n";
    cin>> dimensione1;
    leggi ( dimensione1, stringa);


    cout<<" inserire la seconda dimensione\n";
    cin>> dimensione2;
    leggi ( dimensione2, stringa1);
    ricerca( dimensione1, dimensione2, stringa, stringa1);


    }




    void leggi ( int dimensione, char stringa[max])
    {
    for ( int i=0; i<dimensione; i++)
    {
    cout<<" inserire gli elementi\n";
    cin>>stringa[i];
    }


    }

    void ricerca( int dimensione1, int dimensione2, char stringa[max], char stringa1[max])
    {
    for ( int i=0; i<dimensione1; i++)
    {
    for ( int j=0; j<dimensione2; j++)
    {
    if ( stringa== stringa[j])
    {
    cout<<" e' contenuto\n";
    }
    else
    {
    cout<<" non e' contenuto\n";
    }
    }
    }

    }
    ho riportato tutto, mentre vedere se è contenuto nella stringa è il sottoprogramma ricerca..
    ho abbozzato qualche cosa, ma non so se si faccia cosi. Mi dicono di verificare i caratteri uno ad no, ma non so farlo..

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Così il codice non si capisce !

    Non puoi usare i tag CODE (pulsantino # del forum) e indentare il codice ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    codice:
    #include <iostream>using namespace std;
     # define max 50
     void leggi ( int dimensione, char stringa[max]);
     void ricerca( int dimensione1, int dimensione2, char stringa[max], char stringa1[max]);
    
    
    
    
     int main ()
     {
     int dimensione1, dimensione2;
     char stringa[max]; char stringa1[max];
    
    
     cout<<" inserire la prima dimensione\n";
     cin>> dimensione1;
     leggi ( dimensione1, stringa);
    
    
     cout<<" inserire la seconda dimensione\n";
     cin>> dimensione2;
    leggi ( dimensione2, stringa1);
    ricerca( dimensione1, dimensione2, stringa, stringa1);
    
    
     }
    
    
    
    
     void leggi ( int dimensione, char stringa[max])
     {
         for ( int i=0; i<dimensione; i++)
         {
             cout<<" inserire gli elementi\n";
             cin>>stringa[i];
         }
    
    
     }
    
    void ricerca( int dimensione1, int dimensione2, char stringa[max], char stringa1[max])
    {
              for ( int i=0; i<dimensione1; i++)
              {
                  for ( int j=0; j<dimensione2; j++)
                  {
                       if ( stringa== stringa[j])
                       {
                        cout<<" e' contenuto\n";
                        }
                           else
                           {
                            cout<<" non e' contenuto\n";
                            }
                     }
               }
    
    }
    Ultima modifica di tidusquall17; 08-03-2015 a 13:20

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.