Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<malloc.h>
  4. #include<windows.h>
  5.  
  6. int getLength(char* str)
  7. {
  8. int length = 0;
  9. while(str[length++]);
  10. return length-1;
  11. }
  12. char* getString(char* str)
  13. {
  14. str = (char*)malloc(sizeof(char));
  15. int i = 1;
  16. char c = ' ';
  17. while((c = getchar())!= '\n')
  18. {
  19. str[i-1] = c;
  20. i++;
  21. realloc(str,sizeof(char)*i);
  22. str[i-1] = '\0';
  23. }
  24. return str;
  25. }
  26.  
  27. char* copy(char* str1,char* str2)
  28. {
  29. free(str1);
  30. int len2 = getLength(str2);
  31. str1 = (char*)malloc(sizeof(char)*len2);
  32. for(int i = 0;i<len2;i++)
  33. {
  34. str1[i] = str2[i];
  35. }
  36. str1[len2] = '\0';
  37. return str1;
  38. }
  39.  
  40.  
  41. int find(char* str,char c)
  42. {
  43. for(int i = 0;i<getLength(str);i++)
  44. {
  45. if(str[i] == c) return i;
  46. }
  47. return -1;
  48. }
  49.  
  50.  
  51.  
  52. int main()
  53. {
  54.  
  55.  
  56. printf("str1: ");
  57. char* str1 = getString(str1);
  58. printf("str2: ");
  59. char* str2 = getString(str2);
  60. int len1 = getLength(str1);
  61. //printf("%s\n",str1);
  62. //printf("%s",str2);
  63. /*
  64. int n = 0;
  65. printf("n: ");
  66. scanf("%i",&n);
  67. char* str3 = (char*)malloc(sizeof(char)*(len1+n+1));
  68. for(int i = 0;i<len1;i++)
  69. {
  70. str3[i] = str1[i];
  71. }
  72. for(int i = 0;i<n;i++)
  73. {
  74. str3[len1 + i] = str2[i];
  75. }
  76. str3[len1+n] = '\0';
  77. //printf("%s",str3);
  78.  
  79. str1 = copy(str1,str3);
  80.  
  81. printf("str1 = %s\n",str1);
  82. char c = ' ';
  83.  
  84. fflush(stdin);
  85. printf("Enter symbol: ");
  86. scanf("%c",&c);
  87. int index = 0;
  88. if((index = find(str1,c))!=-1)
  89. {
  90. printf("index first entrance: %i",index);
  91. }else printf("not found");
  92.  
  93. int lengthLine = 0;
  94. for(int i = 0;i<getLength(str1);i++)
  95. {
  96. for(int j = 0;j<getLength(str2);j++)
  97. {
  98. if(str1[i] == str2[j])
  99. {
  100. lengthLine++;
  101. break;
  102. }
  103. }
  104. }
  105. printf("\nlength of line %i",lengthLine);
  106.  
  107. */
  108.  
  109. char word[255];
  110. int indexWord = 0;
  111. for(int i = 0;i<getLength(str1);i++)
  112. {
  113. if(find(str2,str1[i]) == -1)
  114. {
  115. word[indexWord++] = str1[i];
  116. }
  117. else if(indexWord !=0 )
  118. {
  119. word[indexWord] = '\0';
  120. printf("%s\n",word);
  121. indexWord = 0;
  122. }
  123. }
  124. if(indexWord != 0)
  125. {
  126. word[indexWord] = '\0';
  127. printf("%s\n",word);
  128. }
  129.  
  130.  
  131.  
  132. free(str1);
  133. free(str2);
  134. //free(str3);
  135. return 0;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement