Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<math.h>
- char str[100], pat[100], rep[100];
- int slen(char *s)
- {
- int length=0;
- while(s[length++]!='\0'){}
- return (length-1);
- }
- void findAndReplace()
- {
- int s, p, r, found=0, i, temp, diff=abs(slen(pat)-slen(rep));
- for(s=0;str[s]!='\0';s++)
- {
- temp=s;
- for(p=0;pat[p]!='\0';)
- {
- if(str[s]==pat[p])
- {
- s++;
- p++;
- }
- else
- break;
- if(pat[p]=='\0')
- {
- found=1;
- if(slen(pat)<slen(rep))
- {
- for(s=slen(str);s>=temp;s--)
- str[s+diff]=str[s];
- for(s=temp,r=0;rep[r]!='\0';s++,r++)
- str[s]=rep[r];
- }
- else if(slen(rep)<slen(pat))
- {
- for(s=temp+slen(rep);s<=slen(str)-diff;s++)
- str[s]=str[s+diff];
- for(s=temp,r=0;rep[r]!='\0';s++,r++)
- str[s]=rep[r];
- }
- else
- {
- for(s=temp,r=0;rep[r]!='\0';s++,r++)
- str[s]=rep[r];
- }
- }
- }
- s=temp;
- }
- if(found)
- printf("\nThe Resultant String is: %s\n",str);
- else
- printf("\nPattern String not found\n");
- }
- int main()
- {
- printf("\nEnter the Main String: ");
- gets(str);
- printf("\nEnter the Pattern String: ");
- gets(pat);
- printf("\nEnter the Replacement String: ");
- gets(rep);
- findAndReplace();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement