Advertisement
Guest User

misha

a guest
Nov 22nd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <assert.h>
  4. #include <string.h>
  5. #include <progbase.h>
  6.  
  7. typedef struct Sentence{
  8.  
  9. char StartIndex;
  10. char MyString[10];
  11.  
  12. } Sentence;
  13.  
  14. typedef struct SentenceArray{
  15.  
  16. int lengthStruct;
  17. Sentence *pointer ;
  18. // Sentence (*pointer)[10];
  19.  
  20. } SentenceArray;
  21. // SentenceArray[100];
  22.  
  23. typedef struct Pair{
  24. int stringCopmare;
  25. int symbolComare;
  26. }Pair;
  27.  
  28. typedef struct ComparePair{
  29. int lengthStruct;
  30. Pair pair;
  31. }ComparePair;
  32.  
  33.  
  34.  
  35. Pair CopmareSenteceStruct(Sentence senteceStructFirst, Sentence senteceStructSecond)
  36. {
  37. Pair pair;
  38. pair.stringCopmare = strcmp(senteceStructFirst.MyString,senteceStructSecond.MyString);
  39. /*
  40. stringCopmare > 0 - String_1 > String_2
  41. stringCopmare < 0 - String_1 < String_2
  42. stringCopmare = 0 - String_1 = String_2
  43. */
  44.  
  45. /* symbolComare :
  46. 1 - Symbol_1 > Symbol_2
  47. 2 - Symbol_1 < Symbol_2
  48. 3 - Symbol_1 = Symbol_2
  49. */
  50. if (senteceStructFirst.StartIndex > senteceStructSecond.StartIndex) pair.symbolComare = 1;
  51. else
  52. if (senteceStructFirst.StartIndex < senteceStructSecond.StartIndex) pair.symbolComare = 2;
  53. else pair.symbolComare = 3;
  54.  
  55.  
  56. return pair;
  57. }
  58.  
  59. ComparePair CopmareSenteceArrayStruct(SentenceArray senteceArrayStructFirst, SentenceArray senteceArrayStructSecond)
  60. {
  61. int i;
  62. ComparePair compPair;
  63. /*
  64. compPair.lengthStruct :
  65. - 1 length First structure > length Second structure
  66. - 2 length First structure < length Second structure
  67. - 3 length First structure = length Second structure
  68.  
  69. */
  70. if (senteceArrayStructFirst.lengthStruct > senteceArrayStructSecond.lengthStruct) compPair.lengthStruct = 1;
  71. else
  72. if (senteceArrayStructFirst.lengthStruct < senteceArrayStructSecond.lengthStruct) compPair.lengthStruct = 2;
  73. else
  74. compPair.lengthStruct = 3;
  75.  
  76. compPair.pair.stringCopmare = strcmp(senteceArrayStructFirst.pointer.MyString,senteceArrayStructSecond.pointer.MyString);
  77. /*
  78. stringCopmare > 0 - String_1 > String_2
  79. stringCopmare < 0 - String_1 < String_2
  80. stringCopmare = 0 - String_1 = String_2
  81. */
  82.  
  83. /* symbolComare :
  84. 1 - Symbol_1 > Symbol_2
  85. 2 - Symbol_1 < Symbol_2
  86. 3 - Symbol_1 = Symbol_2
  87. */
  88. if (senteceArrayStructFirst.pointer.StartIndex > senteceArrayStructSecond.pointer.StartIndex) compPair.pair.symbolComare = 1;
  89. else
  90. if (senteceArrayStructFirst.pointer.StartIndex < senteceArrayStructSecond.pointer.StartIndex) compPair.pair.symbolComare = 2;
  91. else compPair.pair.symbolComare = 3;
  92.  
  93. return compPair;
  94. }
  95.  
  96. Sentence FirstStringAndLetter(char MyString[10000])
  97. {
  98. // FSaL -- First String and Letter
  99. Sentence FSaL;
  100. int i = 0;
  101. int length = strlen(MyString);
  102. while (MyString[i] != '.' && i < length)
  103. {
  104. FSaL.MyString[i] = MyString[i];
  105. i++;
  106. }
  107. // assert(i > 0); Å
  108. FSaL.StartIndex = FSaL.MyString[0];
  109. return FSaL;
  110. }
  111.  
  112. int main()
  113. {
  114. char s[10];
  115. Sentence exapleStructFirst, exapleStructSecond;
  116. SentenceArray exapleArrayStructFirst, exapleArrayStructSecond;
  117. assert(CopmareSenteceStruct(exapleStructFirst,exapleStructSecond).symbolComare > 0);
  118. assert(CopmareSenteceArrayStruct(exapleArrayStructFirst,exapleArrayStructSecond).lengthStruct > 0);
  119.  
  120. assert(FirstStringAndLetter(s).StartIndex != ' ');
  121.  
  122. return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement