DavidsInferno

AiSP assistance

Feb 12th, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. void sortPrezime(position head) //---------SORT PREZIME---------
  2. {
  3. position prev_j, j, i, end = NULL;
  4. end = NULL;
  5. while (head->next != end)
  6. {
  7. i = head;
  8. prev_j = i->next;
  9. j = prev_j->next;
  10. while (j != end)
  11. {
  12. if (_strcmpi(prev_j->prez, j->prez) > 0)
  13. {
  14. prev_j->next = j->next;
  15. j->next = prev_j;
  16. i->next = j;
  17. }
  18. i = prev_j;
  19. prev_j = j;
  20. j = j->next;
  21.  
  22. }
  23. end = prev_j;
  24. }
  25. }
  26. //-------------------------
  27.  
  28. void sortiranjePoGodini(position head) { //----------SORT GODINA------------
  29. position i, j = NULL;
  30. int temp = 0;
  31.  
  32. for (i = head; i != NULL; i = i->next) {
  33. for (j = i->next; j != NULL; j = j->next) {
  34. if (i->god > j->god) {
  35. temp = i->god;
  36. i->god = j->god;
  37. j->god = temp;
  38. }
  39. }
  40. }
  41. }
  42. //-----------------------------
  43.  
  44.  
  45. void Presjek(Position L1, Position L2, Position P){ //--------PRESJEK-------------
  46. Position q;
  47.  
  48. while (L1 != NULL && L2 != NULL) {
  49. if (L1->Element > L2->Element)
  50. L1 = L1->Next;
  51. else if (L1->Element < L2->Element)
  52. L2 = L2->Next;
  53. else
  54. {
  55. q = (Position)malloc(sizeof(Cvor));
  56. if (q == NULL)
  57. printf("\r\nGreska!\r\nMemorija nije alocirana.");
  58. else
  59. {
  60. q->Element = L1->Element;
  61. q->Next = P->Next;
  62. P->Next = q;
  63. P = q;
  64. }
  65. L1 = L1->Next;
  66. L2 = L2->Next;
  67. } } }
  68. //-----------------------------
  69.  
  70. void Unija(Position L1, Position L2, Position U){ //-----UNIJA-----------------------
  71. Position q, tmp;
  72. int tmp_element = 0;
  73.  
  74. while (L1 != NULL && L2 != NULL)
  75. {
  76. if (L1->Element > L2->Element)
  77. {
  78. tmp_element = L1->Element;
  79. L1 = L1->Next;
  80. }
  81. else if (L1->Element < L2->Element)
  82. {
  83. tmp_element = L2->Element;
  84. L2 = L2->Next;
  85. }
  86. else
  87. {
  88. tmp_element = L1->Element;
  89. L1 = L1->Next;
  90. L2 = L2->Next;
  91. }
  92.  
  93. q = (Position)malloc(sizeof(Cvor));
  94. if (q == NULL)
  95. printf("\r\nGreska!\r\nMemorija nije alocirana.");
  96. else
  97. {
  98. q->Element = tmp_element;
  99. q->Next = U->Next;
  100. U->Next = q;
  101. U = q;
  102. }
  103. }
  104.  
  105. if (L1 == NULL)
  106. tmp = L2;
  107. else
  108. tmp = L1;
  109.  
  110. while (tmp != NULL)
  111. {
  112. q = (Position)malloc(sizeof(Cvor));
  113. if (q == NULL)
  114. printf("\r\nGreska!\r\nMemorija nije alocirana.");
  115. else
  116. {
  117. q->Element = tmp->Element;
  118.  
  119. q->Next = U->Next;
  120. U->Next = q;
  121.  
  122. U = q;
  123. }
  124. tmp = tmp->Next;
  125. }
  126. }
  127. //-----------------------------
  128.  
  129.  
  130. void uzimanjeSuglasnike(position head, position head2) { //----------------UZIMANJE SAMOGLASNIKA--------------------
  131. head = head->next;
  132. position temp = NULL;
  133. while (head != NULL) {
  134. if (imaSamoglasnika(head)==0 ) {
  135. temp = createNode();
  136. strcpy(temp->rijeci, head->rijeci);
  137. insert(head2, temp);
  138. }
  139. head = head->next;
  140. }
  141. printf("Samo sa suglasnicima rici:\n");
  142. printList(head2);
  143. }
  144.  
  145. int imaSamoglasnika(position head) {
  146. char samoglasnici[5] = { 'a','e','i','o','u' };
  147.  
  148. for (int i = 0;i < 5;i++) {
  149. if (tolower(head->rijeci[0]) == samoglasnici[i])
  150. return 1;
  151. }
  152. return 0;
  153. }
  154. //-------------------------------------------------
Add Comment
Please, Sign In to add comment