Salve,
da poco ho iniziato a studiare le stringhe in c++ ,ma ad un certo punto mi sono perso.
Mi è stato assegnato un compito dove mi chiedeva : Date due stringhe s1 ed s2 di lunghezza qualsiasi,scrivere una funzione in c++ che verifichi se s2 è una sottostringa di s1 (cioè se s2 è contenuta in s1),restituendo il valore intero -1 se non lo è, oppure un valore positivo che indichi la posizione di inizio della corrispondenza tra gli elementi di s2 e s1.
Partendo dalle basi delle stringhe sono riuscito a capire come dichiarare una variabile di tipo string,come inizializzare una stringa e assegnare un valore alla variabile di tipo string o
sommare due stringhe di partenza per formare un'unica stringa come risultato esempio :codice:string stringaIniziale1 = "mi presento, "; string stringaIniziale2 = "mi chiamo Pietro"; string stringaFinale = stringaIniziale1 + stringaIniziale2; cout << stringaFinale;
Non riesco a capire come verificare se questa stringa è contenuta dentro l altra... qualcuno può darmi una mano?
consultando diverse guide avevo fatto una cosa di questo tipo:Ma non funge..codice:#include <string> #include <iostream> using namespace std ; int main() { string s1, s2; //dichiaro 2 oggetti stringa s1 e s2 string s1 = "Ti Saluto" ; string s2 = s1 ; s1 = 'c'; //assegnamento del carattere c alla stringa s1 s1 = "Ciao Ti Saluto" ; if(s2 != s1) { int c = a.find(b,0); c==string:npos ; //il contenuto di s2 non si trova in s1 cout << "Non trovato" ; return 0; } if(s2==s1) { int c=a.find(b,0); cout<< c; return 0; }
Ho deciso di rivolgermi a questo forum perchè lo reputo uno dei migliori...
Vi saluto e spero in qualche risposta![]()


Rispondi quotando
.... scusatemi ma sto cercando di imparare

