Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [c] stringhe

  1. #1

    [c] stringhe

    da tempo sto cercando di operare su stringhe ma con scarso risultato
    sono riuscita per ora a fare un algoritmo che mi cerca una data parola su stringa ma non
    riesco a stabilire quale delle parole che compongono la stringa sia la più grande cioè abbia più caratteri
    per ricercare una parola su stringa faccio cosi:


    testo[]="questo testo cerca una chiave e la parola più grande";
    chiave[]="testo";
    for(i=0; i<n; i++)
    {
    if( strncmp( &testo[i], chiave, m)==0 )
    .....

    cioè uso la function strncmp che mi restituisce 0 dove trova corrispondenza con la chiave
    ora come faccio a cercare sulla stringa la parola di max dimensione??
    vi sarei molto grata se mi postate un codice spigandomelo;

    vi ringrazio in anticipo dell'aiuto

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Scusa, ma con quel codice stai cercando la stringa contenuta in 'chiave' ... non la piu' lunga ... spiega meglio quello che vuoi fare e i dati a disposizione ...

  3. #3
    si con quella cerco una chiave e credo di essereci riuscita,ora l'esercizio che devo fare continua dicendo: data una stringa testo stabilire quali tra le parole che contiene sia la più grande cioè con più caratteri e quante vocali contenga

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Allora non devi cercare nulla. Devi solamente dividere la frase in parole e vedere qual'e' la piu' lunga. Ogni parola e' separata dalle altre da uno spazio (o e' alla fine della frase).

    Ti consiglio di studiare le funzioni strtok e strlen ...

  5. #5
    ecco appunto come faccio a dividere la stringa in parole separate?
    io pensavo di inserire ad ogni fine parola il carattere di fine stringa '\0'
    ma non riesco a farlo

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non devi dividere ... devi usare la strtok ...

  7. #7
    mi puoi spiegare come funziona?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Forse e' meglio vedere un esempio ... la spiegazione della strtok la puoi trovare ovunque in rete ...

    codice:
      char testo[] = "questo programma cerca una chiave e la parola più grande";
      char delim[] = " ";
      char *maxs, *res;
    
      maxs = res = NULL;
    	
      res = strtok(testo, delim);
      while(res)
      {
        if(maxs)
        {
          if(strlen(res)>strlen(maxs)) 
            maxs=res;
        }
        else
          maxs=res;
    
        res = strtok(NULL, delim);
      }            
    
      printf("La parola piu' lunga e' : %s\n", maxs);

  9. #9
    capito,grazie mille,buona notte

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.