Titlul: Ajutor program inserare '?' dupa fiecare aparitie a unui cuvant intrun sir
Scris de: popovici din Iunie 21, 2014, 21:18:28
#include<iostream> #include<fstream> #include<string.h> using namespace std; void inserare(char s[100],int &n,char el,int i)//s este sirul,n lungimea,el este defapt '?' iar i pozitia pe care sa fie inserat { int j; for(j=n;j>=i;j--) s[j+1]=s[j]; s[i]='?'; n++;
}
int main() { int i,n,rez,ok=1,j,w,pi,poz; char s[100],v[]="aeiou",s2[16]; cin.get(s,100); cin.get(); cin.get(s2,16); n=strlen(s)-1; for(i=0;i<=n;i++)//parcurg sirul { if(s[i]==' ')//parcurg sirul pana intalnesc spatiu { poz=i-1;//poz primes i-1 pentru a merge pe ultima litera a cuvantului rez=1; for(j=pi;j<=poz;j++)//parcurg cuvantul gasit si il compar litera cu litera cu cuvantul citit de la tastatura for(w=0;w<strlen(s2);w++) if(s[j]!=s2[w]) { rez=0; j=poz+1;//opresc parcurgerea in cazul in care gasesc un element care nu corespunde } ok=1;//resetez ok pentru a memora prima litera de la urmatorul cuvant if(rez==1) { inserare(s,n,'?',i); i=i+2;//stiind ca exista un singur spatiu intre fiecare cuvant sar 2 pozitii si ajung pe prima litera a cuvantului urmator } } else if(ok==1)//memorez prima litera a cuvantului { pi=i; ok=0; } } for(i=0;i<=n;i++) cout<<s[i]; return 0; }
Niste sfaturi pentru a rezolva aceasta problema ? Daca cuvantul citit este ana iar sirul este : ana ana ana programul nu face nimic
Titlul: Răspuns: Ajutor program inserare '?' dupa fiecare aparitie a unui cuvant intrun sir
Scris de: Prehari Romica din Iunie 21, 2014, 23:17:12
nu faci bine compararea int main() { int i,n,rez,ok=1,j,w,pi=0,poz; char s[100],v[]="aeiou",s2[16]; cin.get(s,100); cin.get(); cin.get(s2,16); n=strlen(s)-1; for(i=0;i<=n;i++)//parcurg sirul { if(s[i]!=' ')//parcurg sirul pana intalnesc spatiu { j=0; while(s[i]==s2[j]) {i++; j++; } if(j==strlen(s2)) { inserare(s,n,'?',i); i=i++;//stiind ca exista un singur spatiu intre fiecare cuvant sar 2 pozitii si ajung pe prima litera a cuvantului urmator } } else if(ok==1)//memorez prima litera a cuvantului { pi=i; ok=0; } } for(i=0;i<=n;i++) cout<<s[i]; return 0; }
Titlul: Răspuns: Ajutor program inserare '?' dupa fiecare aparitie a unui cuvant intrun sir
Scris de: popovici din Iunie 22, 2014, 13:40:54
Acum mi-am dat seama ce ,,comparare ,, eronata faceam eu..multumesc de ajutor !
|