Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479

    [C] Ricerca diuna sottostringa

    Ciao a tutti,
    e' da un po' di giornoc he mi sto scervellando per risolvere questo problema e ancora non sono giunto a niente
    Il problema e' la ricerca di una sottostringa contenente due spazi in cima ed in fondo ad esempio " penna ".
    Io dovrei fare in modo di riconoscere quindi la sottostringa in una frase del tipo:

    "Oggi ho comprato una penna nuova"

    e non devo riconoscerla in una frase tipo

    "Penna di pollo"

    dato che nella seconda frase, la parola penna non ha lo spazio all'inizio, mentre nella prima frase ho spazio in cima ed in fondo.

    Come potrei fare? Mi basta anche qualche indizio

    Grazie tante
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  2. #2
    Ecco la mia soluzione... scusa se trovi qualche imprecisione in C ma non lo conosco molto bene... comunque il programma funziona anche se da dei warning

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    int main()
    {
        char f1[] = "Oggi ho comprato una penna nuova";
        char p[]="penna";
        printf("%d\n",cerca(f1,p));
        char f2[] = "Penna di pollo";
        printf("%d\n",cerca(f2,p));
        system("pause");
        return 0;
        }
    
    int cerca(char frase[], char parola[])
    {
        int trovato=0;
        int iniziato=0;
        int lunghezza=strlen(parola);   
        
        char parolareale[80]= "";
        strcat(&parolareale," ") ;
        strcat(&parolareale,parola);
        strcat(&parolareale," ");
    
        int i;
        for (i=0; i<strlen(frase); i++)
          {
          
            if (frase[i]==parolareale[trovato]) trovato++;
            else {trovato=0; }
            if (trovato==lunghezza) return 1;
            }
    
    return 0;
         }
    Ciao ciao

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.