Scusami ma non ho capito bene... vuoi che ti unisca due stringhe una al centro dell'altra e poi riprendo e dico quante volte ho inserito questa stringa?
per esempio: s1=ciao, s2 = mamma, s3= pippo scrivo cimammaao pipmammapo ???
Scusami ma non ho capito bene... vuoi che ti unisca due stringhe una al centro dell'altra e poi riprendo e dico quante volte ho inserito questa stringa?
per esempio: s1=ciao, s2 = mamma, s3= pippo scrivo cimammaao pipmammapo ???
No deve essere
S1:su quel ramo del lago di como
S2:mo
S3: pippo
Risultato
Su quel ramopippo del lago di comopippo
Valore restituito:2
Bisogna aggiungere alla stringa1 ,all'occorrenza della stringa2,la stringa 3
vedi se va bene così
codice:#include <cstdlib> #include <iostream> #include <cstring> #include <string> usingnamespace std; const int DIM= 50; typedef char stringa [DIM]; int main(){ stringa s1 = "suquelramodellagodicomo"; stringa s2 = "mo"; stringa s3 = "pippo"; stringa s4; int i,j=0,z=0; int a= strlen(s1) + strlen (s2) + strlen (s3); for (i=0;i<a;i++){ if(s1[i]==s2[z] && s1[i+1]== s2[z+1]){ cout << s2; cout << s3; j++; } cout << s1[i]; } cout << s4 << j; }
sembra essere giusto però Dovrebbe essere in ricorsivo
ecco scusami il ritardo
basta che le stringhe le chiedi da tastiera con un cin oppure puoi leggerle da file non so come devi fare per questo le ho inizializzate.codice:#include <cstdlib> #include <iostream> #include <cstring> #include <string> usingnamespacestd; const int DIM= 50; typedef char stringa [DIM]; void vero(conststringa, conststringa, stringa); int main(){ stringa s1 = "suquelramodellagodicomo"; stringa s2 = "mo"; stringa s3 = "pippo"; stringa s4; stringa s5; int i,j=0,z=0; int a= strlen(s1) + strlen (s2) + strlen (s3); for (i=0;i<a;i++){ if(s1[i]==s2[z]){ vero(s1,s2,s5); cout << s2; cout << s5; cout << s3; j++; } cout << s1[i]; } cout << s4 << j; } void vero (const stringa s1, const stringa s2 , stringa s5){ int a,b=0; for (a=0;a<strlen(s2);a++){ if(s1[a]==s2[b]){ s5[b]=s2[b]; b++; } else b=0; } }
Funziona bene ma non capisco perchè la stringa non viene stampata intera.
ESEMPIO:
S1: SU QUEL RAMO DEL LAGO DI COMO
S2: MO
S3: PIPPO
RISULTATO
SU QUEL RA
poi se premo invio ancora una volta mi esce
SU QUEL RAMOPIPPO DEL LAGO DI CO
premo ancora invio e non esce nulla.Dovrebbe uscire tutto appena premo invio la prima volta.Poi manca il contatore degli inserimenti.