function in C

Pubblicità

toni1705

Nuovo Utente
Messaggi
98
Reazioni
9
Punteggio
28
sono sempre io che rompo le scatole
devo fare una funzione che vada a cercare all'interno di un testo preso da input tutte le parole formate da 3 caratteri
esempio
ho pensato a tutte le ore passate al sud
le parole di 3 caratteri sono 2 { ore e sud }
avevo pensato a qualcosa di questo tipo
C:
#include <stdio.h>
#include <string.h>


 /*dichiaro la f*/
 int trelett(char frase[],int n);

int main()
{
    char frase[80];
    int confronto;
    printf("inserire stringa>>> ");
    fgets(frase,80,stdin);
    confronto=trelett(frase,80);
    frase[strlen(frase)-1]='\0';
    printf("sono state trovate %d parole di tre lettere",confronto);
}


 int trelett(char frase[], int v )
{
char* tmp;
int i,n=3;
for (tmp = strtok(frase, " "), i = 0; tmp != NULL;tmp = strtok(NULL, " "))
{
if (strlen(tmp) == n )
{
i++;
}
}
return i;
}
certe volte funziona certe no ( non funge quando la parola di tre lettere è la prima oppure ultima)
 
Il problema da risolvere è decisamente banale, non dovresti chiedere aiuto per queste sciocchezze.. altrimenti non ti servono a niente.

Quel ciclo forum è implementato in maniera abominevole!!! Comunque sarebbe più elegante usare un while.

Inoltre, se sei un principiante impara a rispettare le regole di ordine e leggibilità del codice!

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
Il problema da risolvere è decisamente banale, non dovresti chiedere aiuto per queste sciocchezze.. altrimenti non ti servono a niente.

Quel ciclo forum è implementato in maniera abominevole!!! Comunque sarebbe più elegante usare un while.

Inoltre, se sei un principiante impara a rispettare le regole di ordine e leggibilità del codice!

Inviato dal mio Nexus 5 utilizzando Tapatalk
il senso del forum è quello di aiutarsi ,condividere e confrontare idee.
ora o per banalità o per altro
lo si fa se lo si vuole
si avevo pensato anche io al while ma volevo prima risolvere il problema principale.
nelle parentesi del while ( quale valore gli devo dare per non farlo finire in loop)
duh, chiami la funzione trelett prima di eliminare il carattere newline alla fine della frase.
grazie!!!!!
 
Ultima modifica:
il senso del forum è quello di aiutarsi ,condividere e confrontare idee.
ora o per banalità o per altro
lo si fa se lo si vuole
si avevo pensato anche io al while ma volevo prima risolvere il problema principale.
nelle parentesi del while ( quale valore gli devo dare per non farlo finire in loop)

grazie!!!!!
Senza offenderti però, la mia era una considerazione in generale. Sarà anche vero ciò che dici a proposito dei forum, ma ciò non dà diritto a tutto.

Se dovesse servire ti allego una soluzione scritta in basic 1.1 per Amstrad CPC del 1985.. (purtroppo la funzione strtok non esisteva e il programmino fa principalmente questo (la conta delle parole potrebbe essere integrata nella stessa funzione) e poi, la lunghezza delle parole da cercare si dovrebbe scegliere... Ecc..

listato.webprun.webp

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
Il problema da risolvere è decisamente banale, non dovresti chiedere aiuto per queste sciocchezze.. altrimenti non ti servono a niente.

Quel ciclo forum è implementato in maniera abominevole!!! Comunque sarebbe più elegante usare un while.
...
No, mi spiace, non spetta a te decidere cosa si possa chiedere in questo forum o meno.
Il ragazzo ha rispettato tutte le regole, ha pubblicato il suo codice usando la tag giusta, e ha chiesto aiuto.
E il for() da lui scritto non e' abominevole per nulla: istruzione iniziale, test, istruzione finale. Non c'e' nulla di sbagliato.

Molto meglio di quello che hai fatto tu presentando una soluzione scritta in linguaggio Basic vecchio di trentanni :) Sai quanto gli sia utile!
 
No, mi spiace, non spetta a te decidere cosa si possa chiedere in questo forum o meno.
Il ragazzo ha rispettato tutte le regole, ha pubblicato il suo codice usando la tag giusta, e ha chiesto aiuto.
E il for() da lui scritto non e' abominevole per nulla: istruzione iniziale, test, istruzione finale. Non c'e' nulla di sbagliato.

Molto meglio di quello che hai fatto tu presentando una soluzione scritta in linguaggio Basic vecchio di trentanni :) Sai quanto gli sia utile!
Take It easy!


Inviato dal mio Nexus 5 utilizzando Tapatalk
 
Pubblicità
Pubblicità
Indietro
Top