mattone2000 (Normal User)
Newbie
Messaggi: 5
Iscritto: 23/08/2017
|
Ciao a tutti, il mio problema è che non riesco a prendere una parte di una stinga indicando la prime e l' ultima parola.
sono arrivato fino a questo punto ma credo di aver sbagliato :
Codice sorgente - presumibilmente C# |
int main() { string stringa; char l; char p; cout<<"\n Inserisci una frase:"; getline(cin, stringa, '\n'); cout<<"\n Inserisci la prima parola da trovare:"; cin >> l; cout<<"\n Inserisci l'ultima parola della sotto frase che deve essere trovata':"; cin >> p; size_t pos = stringa.find(l); size_t dd = stringa.find(p); cout<<stringa.substr(pos, dd); }
|
grazie ancora per l'aiuto
EDIT del moderatore: usa il tag code per inserire il codice
Ultima modifica effettuata da lumo il 23/08/2017 alle 10:11 |
|
Template (Member)
Pro
Messaggi: 177
Iscritto: 09/12/2015
|
Sbaglio, o il metodo find ritorna l'indice della prima lettera dell'occorrenza della parola?
Se è così, ti basta modificare gli argomenti del metodo substr mettendo (pos, dd + p.length).
Comunque, il tuo programma ha un problema di fondo sul quale ti invito a riflettere: se l'utente sbaglia a digitare ed inserisce una parola che non c'è nella stringa, cosa succede?
|
|
Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
Ma,
l e p sono caratteri o stringhe?
Perchè
Codice sorgente - presumibilmente C/C++ |
in C, è la sintassi per un singolo carattere, non per una parola.
|
|
Template (Member)
Pro
Messaggi: 177
Iscritto: 09/12/2015
|
Postato originariamente da Mikelius:
in C, è la sintassi per un singolo carattere, non per una parola. |
Non mi ero accorto di questo orrore |
|
mattone2000 (Normal User)
Newbie
Messaggi: 5
Iscritto: 23/08/2017
|
quindi dovri usare tipo
Codice sorgente - presumibilmente C/C++ |
|
|
Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
credo che pure
Codice sorgente - presumibilmente C/C++ |
si possa usare...
non importa se la stringa è di 1 o 10 parole (scusate se sbaglio)
Postato originariamente da Template:
Postato originariamente da Mikelius:
in C, è la sintassi per un singolo carattere, non per una parola. |
Non mi ero accorto di questo orrore |
A volte non ci accorgiamo delle semplici cose XD. Ultima modifica effettuata da Mikelius il 23/08/2017 alle 15:55 |
|
mattone2000 (Normal User)
Newbie
Messaggi: 5
Iscritto: 23/08/2017
|
Postato originariamente da Mikelius:
credo che pure
Codice sorgente - presumibilmente C/C++ |
si possa usare...
non importa se la stringa è di 1 o 10 parole (scusate se sbaglio)
Postato originariamente da Template:
Postato originariamente da Mikelius:
in C, è la sintassi per un singolo carattere, non per una parola. |
Non mi ero accorto di questo orrore |
A volte non ci accorgiamo delle semplici cose XD. |
con string funziona ma a volte inserice dei caratteri della parola dopo sapresti aiutarmi a capire perchè?
|
|
lumo (Member)
Expert
Messaggi: 449
Iscritto: 18/04/2010
|
|
|
mattone2000 (Normal User)
Newbie
Messaggi: 5
Iscritto: 23/08/2017
|
esempio teorico :
Inserisci una frase: Mario rossi sta andando al bar per prendere un pacchetto di patatine.
Inserisci la prima parola da trovare: sta
Inserisci l'ultima parola della sotto frase che deve essere trovata: un
(↑ dati di input ↑ )
sta andando al bar per prendere un
(↑ dati di output ↑ )
ciò che succede quando avvio il programma :
Inserisci una frase: Mario rossi sta andando al bar per prendere un pacchetto di patatine.
Inserisci la prima parola da trovare: sta
Inserisci l'ultima parola della sotto frase che deve essere trovata: un
(↑ dati di input ↑ )
sta andando al bar per prendere un pacchetto
(↑ dati di output ↑ )
Ultima modifica effettuata da mattone2000 il 23/08/2017 alle 16:36 |
|