Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - stampare a video una parte di stringa
Forum - C/C++ - stampare a video una parte di stringa

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
mattone2000 (Normal User)
Newbie


Messaggi: 5
Iscritto: 23/08/2017

Segnala al moderatore
Postato alle 1:50
Mercoledì, 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 : :_doubt::_doubt:
Codice sorgente - presumibilmente C#

  1. int main()
  2. {
  3.        
  4. string stringa;
  5. char l;
  6. char p;
  7.  
  8. cout<<"\n Inserisci una frase:";
  9. getline(cin, stringa, '\n');
  10.  
  11. cout<<"\n Inserisci la prima parola da trovare:";
  12. cin >> l;
  13.  
  14. cout<<"\n Inserisci l'ultima parola della sotto frase che deve essere trovata':";
  15. cin >> p;
  16.  
  17.  
  18. size_t pos = stringa.find(l);
  19.  
  20. size_t dd = stringa.find(p);
  21.  
  22. cout<<stringa.substr(pos, dd);
  23.  
  24. }



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
PM Quote
Avatar
Template (Member)
Pro


Messaggi: 174
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 8:48
Mercoledì, 23/08/2017
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? ;)


"Nel curriculum scrivete quello che sapete fare... e anche quello che non sapete fare! Tipo: "Già vescovo di Cracovia, partecipai alla Coppa America, vincendola!""
[...]
"Sto giocando al piccolo Dio e mi sta venendo pure alla grande."
PM Quote
Avatar
Mikelius (Member)
Pro


Messaggi: 83
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 15:00
Mercoledì, 23/08/2017
Ma,
l e p sono caratteri o stringhe?
Perchè
Codice sorgente - presumibilmente C/C++

  1. char l


in C, è la sintassi per un singolo carattere, non per una parola.


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
Template (Member)
Pro


Messaggi: 174
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 15:17
Mercoledì, 23/08/2017
Testo quotato

Postato originariamente da Mikelius:
in C, è la sintassi per un singolo carattere, non per una parola.



Non mi ero accorto di questo orrore :_doubt:


"Nel curriculum scrivete quello che sapete fare... e anche quello che non sapete fare! Tipo: "Già vescovo di Cracovia, partecipai alla Coppa America, vincendola!""
[...]
"Sto giocando al piccolo Dio e mi sta venendo pure alla grande."
PM Quote
Avatar
mattone2000 (Normal User)
Newbie


Messaggi: 5
Iscritto: 23/08/2017

Segnala al moderatore
Postato alle 15:45
Mercoledì, 23/08/2017
quindi dovri usare tipo

Codice sorgente - presumibilmente C/C++

  1. char l [10];

:-?:-?:-?:-?:-?

PM Quote
Avatar
Mikelius (Member)
Pro


Messaggi: 83
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 15:53
Mercoledì, 23/08/2017
credo che pure
Codice sorgente - presumibilmente C/C++

  1. string l;



si possa usare...
non importa se la stringa è di 1 o 10 parole (scusate se sbaglio)

Testo quotato

Postato originariamente da Template:

Testo quotato

Postato originariamente da Mikelius:
in C, è la sintassi per un singolo carattere, non per una parola.



Non mi ero accorto di questo orrore :_doubt:


A volte non ci accorgiamo delle semplici cose XD.

Ultima modifica effettuata da Mikelius il 23/08/2017 alle 15:55


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
mattone2000 (Normal User)
Newbie


Messaggi: 5
Iscritto: 23/08/2017

Segnala al moderatore
Postato alle 16:02
Mercoledì, 23/08/2017
Testo quotato

Postato originariamente da Mikelius:

credo che pure
Codice sorgente - presumibilmente C/C++

  1. string l;



si possa usare...
non importa se la stringa è di 1 o 10 parole (scusate se sbaglio)

Testo quotato

Postato originariamente da Template:

Testo quotato

Postato originariamente da Mikelius:
in C, è la sintassi per un singolo carattere, non per una parola.



Non mi ero accorto di questo orrore :_doubt:


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è?

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 401
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 16:25
Mercoledì, 23/08/2017
matteone2000, riporta degli esempi di esecuzione con il risultato che ottieni e quello che invece vorresti.
Leggi anche il regolamento della sezione: http://www.pierotofy.it/pages/extras/forum/2/78115-leggere ...

PM Quote
Avatar
mattone2000 (Normal User)
Newbie


Messaggi: 5
Iscritto: 23/08/2017

Segnala al moderatore
Postato alle 16:35
Mercoledì, 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
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo