Posted By

tturek on 01/03/14


Tagged

Strukture


Versions (?)

glavni program


 / Published in: C++
 

strukture foi eto

  1. #include<iostream>
  2. #include "prvo dijete - sljedeci brat.h"
  3. #include "ophodnja.h"
  4. //#include "binarno_polje.h"
  5. #include "binarno_pokazivaci.h"
  6. using namespace std;
  7.  
  8. void opcenito(){
  9. system("cls");
  10. cout << "Pokrecem implementaciju za opcenito stablo..." << endl
  11. << "Stvaram stablo s korijenom 9..." << endl << endl;
  12. tree *T = InitT(9,T);
  13.  
  14. cout << "Ispisujem korijen funkcijom RootT(): " << RootT(T) << endl
  15. << "Stvaram potomke 5,3,2 cvoru 9..." << endl;
  16. CreateT(5,9,T);
  17. CreateT(3,9,T);
  18. CreateT(2,9,T);
  19. cout << "Stvaram potomke 1,4 cvoru 3..." << endl;
  20. CreateT(1,3,T);
  21. CreateT(4,3,T);
  22. cout << "Stvaram potomka 6 cvoru 5..." << endl;
  23. CreateT(6,5,T);
  24. cout << "Stvaram potomka 10 cvoru 99..." << endl;
  25. CreateT(10,99,T);
  26. cout << endl;
  27.  
  28. cout << "Ispisujem prvo dijete cvora 9: " << FirstChildT(9,T) << endl
  29. << "Ispisujem bracu cvora " << FirstChildT(9,T) << ": "
  30. << NextSiblingT(FirstChildT(9,T),T) << " "
  31. << NextSiblingT(NextSiblingT(FirstChildT(9,T),T),T) << endl << endl;
  32. cout << "Ispisujem roditelja cvora 6: " << ParentT(6,T) << endl
  33. << "Ispisujem oznaku cvora 5: " << LabelT(5,T) << endl
  34. << "Mijenjam oznaku cvora 5..." << endl;
  35. ChangeLabelT('Z',5,T);
  36.  
  37. cout << "Trenutna oznaka cvora 5: " << LabelT(5,T) << endl << endl;
  38. cout << "Brisem korijen stabla..." << endl;
  39. DeleteT(9,T);
  40. cout << "Provjeravam da li postoji cvor 9..." << endl
  41. << "Stvaram potomka 5, cvoru 9..." << endl;
  42. CreateT(5,9,T);
  43. cout << endl << "Pritisnite tipku za povratak na glavni meni." << endl;
  44. system("pause>nul");
  45. }
  46.  
  47. void binarno(){
  48. system("cls");
  49. cout << "Pokrecem implementaciju za binarno stablo..." << endl
  50. << "Stvaram stablo s korijenom 6..." << endl << endl;
  51. node *T = InitB(6,T);
  52.  
  53. cout << "Ispisujem korijen funkcijom RootB(): " << LabelB(RootB(T)) << endl
  54. << "Stvaram lijevo dijete 2 cvoru 6..." << endl;
  55. CreateLeftB(2,RootB(T));
  56. cout << "Stvaram desno dijete 1 cvoru 6..." << endl;
  57. CreateRightB(1,RootB(T));
  58. cout << "Stvaram desno dijete 3 cvoru 2..." << endl;
  59. CreateRightB(3,LeftChildB(RootB(T)));
  60. cout << "Stvaram lijevo dijete 4 cvoru 2..." << endl;
  61. CreateLeftB(4,LeftChildB(RootB(T)));
  62. cout << "Stvaram desno dijete 5 cvoru 1..." << endl << endl;
  63. CreateRightB(5,RightChildB(RootB(T)));
  64.  
  65. cout << "Ispisujem desno dijete cvora 2: " << LabelB(RightChildB(LeftChildB(RootB(T)))) << endl
  66. << "Ispisujem lijevo dijete cvora 6: " << LabelB(LeftChildB(RootB(T))) << endl
  67. << "Ispisujem roditelja cvora 2: " << LabelB(ParentB(2,T)) << endl << endl;
  68. cout << "Ispisujem oznaku korijena: " << LabelB(RootB(T)) << endl
  69. << "Mijenjam oznaku korijena..." << endl;
  70. ChangeLabelB(10,RootB(T));
  71.  
  72. cout << "Ispisujem novu oznaku korijena: " << LabelB(RootB(T)) << endl << endl
  73. << "Pokusavam stvoriti lijevo dijete cvoru 10..." << endl
  74. << "Lijevo dijete cvora 10 je 2. ";
  75. CreateLeftB(2,RootB(T));
  76. cout << "Brisem cvor 2..." << endl;
  77. DeleteB(LeftChildB(RootB(T)),T);
  78. cout << "Ponovo stvaram lijevo dijete cvora 10, ovaj put s oznakom 5..." << endl;
  79. CreateLeftB(5,RootB(T));
  80. cout << "Ispisujem lijevo dijete cvora 10: " << LabelB(LeftChildB(RootB(T))) << endl << endl
  81. << "Pritisnite tipku za povratam na glavni meni." << endl;
  82. system("pause>nul");
  83. }
  84.  
  85. void ophodenje(){
  86. system("cls");
  87. cout << "Pokrecem implementaciju za ophodenje stabla..." << endl
  88. << "Stvaram stablo s korijenom 1..." << endl << endl;
  89. tree *T = InitT(1,T);
  90. int korijen = RootT(T);
  91.  
  92. cout << "Stvaram potomke 2,3,4 cvoru 1..." << endl;
  93. CreateT(2,1,T);
  94. CreateT(3,1,T);
  95. CreateT(4,1,T);
  96. cout << "Stvaram potomke 5,6 cvoru 3..." << endl;
  97. CreateT(5,3,T);
  98. CreateT(6,3,T);
  99. cout << "Stvaram potomke 8,9 cvoru 5..." << endl;
  100. CreateT(8,5,T);
  101. CreateT(9,5,T);
  102. cout << "Stvaram potomka 10 cvoru 6..." << endl;
  103. CreateT(10,6,T);
  104. cout << "Stvaram potomka 7 cvoru 4..." << endl << endl;
  105. CreateT(7,4,T);
  106.  
  107. cout << "Stablo stvoreno! Pritisnite tipku za nastavak." << endl << endl;
  108. system("pause>nul");
  109. cout << "PreOrder: ";
  110. PreOrder(T);
  111. cout << endl;
  112. T->korijen = korijen;
  113. cout << "InOrder: ";
  114. InOrder(T);
  115. cout << endl;
  116. T->korijen = korijen;
  117. cout << "PostOrder: ";
  118. PostOrder(T);
  119. cout << endl << endl << "Pritisnite tipku za povratak na glavni meni." << endl;
  120. system("pause>nul");
  121. }
  122.  
  123. int main(){
  124. int n;
  125.  
  126. do{
  127. system("cls");
  128. cout << endl << "Birajte implementaciju:" << endl
  129. << "1. Prvo dijete-sljedeci brat" << endl
  130. << "2. Binarno stablo" << endl
  131. << "3. Ophodenje stabla" << endl
  132. << "9. Izlaz iz programa" << endl;
  133. cin >> n;
  134.  
  135. switch(n){
  136. case 1: opcenito(); break;
  137. case 2: binarno(); break;
  138. case 3: ophodenje(); break;
  139. }
  140. }while(n!=9);
  141. return 0;
  142. }

Report this snippet  

You need to login to post a comment.