|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 112
|
[C] Progr per dividere le parole di una stringa in tante più piccole
#include <stdio.h>
#include <stdlib.h> #include <string.h> int separa(char frase[80]){ int status=0; return status; } main() { char frase[80]; int i=0; int m=0; int n=0; char elencoParole[20][20]; printf("Inserisci la frase: \n"); for(i=0; ((frase[i]=getchar()) != '\n') && (i<79); i++); for (i=0;i=79;i++) { if (frase[i]==' ') { m++; n=0; } else { elencoParole[m][n]=frase[i]; n++; } } system("PAUSE"); } Vi prego sono 2 giorni che sono bloccato qui... "Costruire una funzione che separa le parole di una frase, formata al più da 80 caratteri, eliminando gli spazi vuoti. In altre parole ha in input: char frase [80] e in output: elencoParole [][20] Inoltre la funzione se in elencoParole c’è almeno un numero reale, ossia una parola formata solo da caratteri numerici e dal punto decimale allora restituisce il valore 1 altrimenti restituisce il valore 0" Il programma si blocca all'assegnamento del carattere da un array ad un altro. Grazie a chiunque mi voglia aiutare! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 267
|
Basta usare la funzione strtok del C.
Piccolo esempio: Codice:
char stringa[] = "Sono una stringa";
char elencoParole[20][20];
char *ptr;
int i = 0;
ptr = strtok(stringa, " ");
while (ptr != NULL)
{
strcpy(elencoParole[i++], ptr);
ptr = strtok(NULL, " ");
}
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 112
|
Provo e ti dico
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 112
|
Funziona!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:11.



















