Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctype.h>
- #include <string.h>
- #include <stdio.h>
- using namespace std;
- void substr (char str[][81],int n,char str1[][81],int*n1, int num[])
- {
- int i;
- char *s,*s1,*s2,*ss;
- *n1=0;
- for (i=0;i<n;i++)
- {
- s1=NULL;
- s=str[i];
- ss=str[i];
- while(*s)
- if (*s=='!'||*s=='.'||*s==','||*s==':'||*s==';'||*s=='?'||*s+1=='\0')
- {
- s2=s-1;
- s1=ss;
- while ((*s=='!'||*s=='.'||*s==','||*s==':'||*s==';'||*s=='?')&&*s)
- s++;
- if (s2>=s1&&s1)
- {
- num[*n1]=i;
- strncpy(str1[*n1],s1,s2-s1+1);
- str1[*n1][s2-s1+1]='\0';
- (*n1)++;
- }
- ss=s;
- }
- else s++;
- }
- }
- int search(char str1[][81],int n1)
- {
- int i,k=-1;
- char *s;
- for (i=0;i<n1 && k==-1;i++)
- {
- for(s=str1[i];*s && ('A'<=*s&&*s<='Z'||'a'<=*s&&*s<='z');s++);
- if (*s)
- return i;
- }
- return (k);
- }
- int ins(char *s)
- {
- char *s1, *ss, s2[4]="END", *j;
- int f=-1;
- s1=s;
- for(j=strlen(s)+s;j>s;j--)
- if (*j=='*')
- {
- s1=j;
- f=1;
- }
- for(j=strlen(s)+s;j>s1-1;j--)
- *(j+3)=*j;
- s1--;
- strncpy(s1+1,s2,3);
- return f;
- }
- int main()
- {
- int n=0,n1,num[100],i,f=1,k;
- char str[10][81],str1[10][81],s;
- printf("input strings: \n");
- while (n<10 && *gets(str[n]))
- n++;
- substr(str,n,str1,&n1,num);
- for (i=0;i<n;i++)
- puts(str[i]);
- if (n1==0)
- printf("no substrings \n");
- else
- {
- printf("%d substrings found: \n",n1);
- for (i=0;i<n1;i++)
- puts(str1[i]);
- k=search(str1,n1);
- if (k==-1)
- printf("substrings without english letters not found");
- else
- {
- printf("selected substring: %s\n", str1[k]);
- if (f==ins(str[num[k]]))
- printf("modified string: %s\n", str[num[k]]);
- else
- printf("no insert\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement