Advertisement
Guest User

Untitled

a guest
May 25th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctype.h>
  3. #include <string.h>
  4. #include <stdio.h>
  5.  
  6. using namespace std;
  7.  
  8. void substr (char str[][81],int n,char str1[][81],int*n1, int num[])
  9. {
  10. int i;
  11. char *s,*s1,*s2,*ss;
  12. *n1=0;
  13. for (i=0;i<n;i++)
  14. {
  15. s1=NULL;
  16. s=str[i];
  17. ss=str[i];
  18. while(*s)
  19. if (*s=='!'||*s=='.'||*s==','||*s==':'||*s==';'||*s=='?'||*s+1=='\0')
  20. {
  21. s2=s-1;
  22. s1=ss;
  23. while ((*s=='!'||*s=='.'||*s==','||*s==':'||*s==';'||*s=='?')&&*s)
  24. s++;
  25. if (s2>=s1&&s1)
  26. {
  27. num[*n1]=i;
  28. strncpy(str1[*n1],s1,s2-s1+1);
  29. str1[*n1][s2-s1+1]='\0';
  30. (*n1)++;
  31. }
  32. ss=s;
  33. }
  34. else s++;
  35. }
  36. }
  37.  
  38. int search(char str1[][81],int n1)
  39. {
  40. int i,k=-1;
  41. char *s;
  42. for (i=0;i<n1 && k==-1;i++)
  43. {
  44. for(s=str1[i];*s && ('A'<=*s&&*s<='Z'||'a'<=*s&&*s<='z');s++);
  45. if (*s)
  46. return i;
  47. }
  48. return (k);
  49. }
  50.  
  51. int ins(char *s)
  52. {
  53. char *s1, *ss, s2[4]="END", *j;
  54. int f=-1;
  55. s1=s;
  56. for(j=strlen(s)+s;j>s;j--)
  57. if (*j=='*')
  58. {
  59. s1=j;
  60. f=1;
  61. }
  62. for(j=strlen(s)+s;j>s1-1;j--)
  63. *(j+3)=*j;
  64. s1--;
  65. strncpy(s1+1,s2,3);
  66. return f;
  67. }
  68.  
  69. int main()
  70. {
  71. int n=0,n1,num[100],i,f=1,k;
  72. char str[10][81],str1[10][81],s;
  73. printf("input strings: \n");
  74. while (n<10 && *gets(str[n]))
  75. n++;
  76. substr(str,n,str1,&n1,num);
  77. for (i=0;i<n;i++)
  78. puts(str[i]);
  79. if (n1==0)
  80. printf("no substrings \n");
  81. else
  82. {
  83. printf("%d substrings found: \n",n1);
  84. for (i=0;i<n1;i++)
  85. puts(str1[i]);
  86. k=search(str1,n1);
  87. if (k==-1)
  88. printf("substrings without english letters not found");
  89. else
  90. {
  91. printf("selected substring: %s\n", str1[k]);
  92. if (f==ins(str[num[k]]))
  93. printf("modified string: %s\n", str[num[k]]);
  94. else
  95. printf("no insert\n");
  96. }
  97. }
  98. return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement