Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Dove sta l'errore?

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    100

    Dove sta l'errore?

    Programma che conta il numero di volte in cui la stringa s è contenuta in t. esempio stringa s = ciao; stringa t=cccciao; la stringa s è contenuta 1 volta in t.
    Mi urge un aiuto!!
    questo è il codice che ho scritto e che non funziona

    #include <iostream.h>
    #include <stdlib.h>
    #include <stdio.h>


    int main()
    { char s[100],t[100];
    int i,j,cont,again;
    gets (s);
    fflush(stdin);
    gets (t);
    i=0; j=0; cont=0;
    while ((s[i]!='\0')&& (t[j]!='\0'))
    {

    if(s[i]==t[j])
    { again=again+1;
    do{
    i++;
    j++;
    }while ((s[i]!='\0')&&(t[j]!='\0') && (s[i]==t[j]));
    if (s[i]=='\0')
    {cont=cont+1;
    i=0;
    }
    else
    {j=again;
    i=0;
    }
    }
    else {
    j++;
    }

    }
    cout <<cont <<endl;




    system("PAUSE");
    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di minoz
    Registrato dal
    Oct 2001
    Messaggi
    219
    Codice PHP:

    #include <iostream.h>
    #include <stdlib.h>
    #include <stdio.h>

    void main()
    {
        
    char s[100],t[100];
        
    int ijcontagainspostamento;

        
    gets (s);
        
    fflush(stdin);

        
    gets (t);

        
    i=0j=0cont=0again=0spostamento 0;

       
    //Ricavo la lunghezza di s
       
    for( i=0s[i]!=0i++);

       while(
    t[spostamento]!=0)
       {
           for ( 
    j=0; (j<i)&&t[j]!=0j++)
           {
               if( 
    s[j]==t[j+spostamento]) again++;
           }

           if ((
    again)==i)
              {
                 
    cont++;
             }

          
    spostamento+=i;
          
    again 0;
       }

        
    /*i=0; j=0; cont=0;

        while ((s[i]!='\0')&& (t[j]!='\0'))
        {

            if(s[i]==t[j])
            {
              again=again+1;
                do{
                        i++;
                        j++;
                    }while ((s[i]!='\0')&&(t[j]!='\0') && (s[i]==t[j]));
                if (s[i]=='\0')
                {
                 cont=cont+1;
                    i=0;
                }
                else
                {
                 j=again;
                    i=0;
                }
            }
            else
          {
                j++;
            }

        }*/
    cout << cont << endl;


    system("PAUSE");

    In tanto che c'ero ti ho messo a posto anche questo... non prenderci l'abitudine... :tongue:

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.