Posted By

mjug on 01/20/15


Tagged

pokazivaci polja stablo


Versions (?)

program.cpp


 / Published in: C++
 

glavni zadatak

  1. #include <iostream>
  2. #include "opcenito_stablo.h"
  3. #include "ophodjenje_stabla.h"
  4. #include "pokazivaci.h"
  5. //#include "polje.h"opce
  6. using namespace std;
  7.  
  8. tr *s = new tr;
  9. bt *bst = new bt;
  10. void opStablo() {
  11. int k, meni, cvor, dijete, ime;
  12.  
  13. cout << "Unesite korijen stabla: " << endl;
  14. cin >> k;
  15.  
  16. IniT (k, s);
  17.  
  18. do {
  19. cout << "---------------" << endl;
  20. cout << "OPCENITO STABLO" << endl;
  21. cout << "---------------" << endl;
  22. cout << "1. Ispis korijena stabla " << endl;
  23. cout << "2. Dodavanje cvora" << endl;
  24. cout << "3. Prvo dijete" << endl;
  25. cout << "4. Braca" << endl;
  26. cout << "5. Roditelj dijeteta" << endl;
  27. cout << "6. Provjena oznake cvora" << endl;
  28. cout << "7. Promjena oznake cvora" << endl;
  29. cout << "8. Brisanje cvora" << endl;
  30. cout << "9. Povratak u glavni izbornik" << endl;
  31. cin >> meni;
  32. cout << "---------------" << endl;
  33. switch (meni) {
  34. case 1:
  35. cout << "Korijen stabla je: " << RootT (s) << endl;
  36. break;
  37.  
  38. case 2:
  39. cout << "Unesite cvor gdje zelite stvoriti dijete: ";
  40. cin >> cvor;
  41.  
  42. cout << "Unesite cvor dijeteta: ";
  43. cin >> dijete;
  44.  
  45. CreateT (dijete, cvor, s);
  46. break;
  47.  
  48. case 3:
  49. cout << "Prvo dijete cvora: ";
  50. cin >> cvor;
  51.  
  52. cout << "Prvo dijete cvora " << cvor << " je " << FirstChildT (cvor, s) << endl;
  53. break;
  54.  
  55. case 4:
  56. cout << "Unesite cvor: ";
  57. cin >> cvor;
  58.  
  59. cout << "Brat cvora " << cvor << " je " << NextSiblingT (cvor, s) << endl;
  60. break;
  61.  
  62. case 5:
  63. cout << "Unesite cvor: ";
  64. cin >> cvor;
  65.  
  66. cout << "Roditelj cvora " << cvor << " je " << ParentT (cvor, s) << endl;
  67. break;
  68.  
  69. case 6:
  70. cout << "Unesite cvor: ";
  71. cin >> cvor;
  72.  
  73. cout << "Cvor " << cvor << " ima oznaku " << LabelT (cvor, s) << endl;
  74. break;
  75. case 7:
  76. cout << "Unesite cvor: ";
  77. cin >> cvor;
  78.  
  79. cout << "Unesite novu oznaku cvora: ";
  80. cin >> ime;
  81.  
  82. ChangeLabelT (ime, cvor, s);
  83. break;
  84.  
  85. case 8:
  86. cout << "Unesite cvor koji zelite obrisati: ";
  87. cin >> cvor;
  88.  
  89. DeleteT (cvor, s);
  90. break;
  91.  
  92. default:
  93. cout << "Upisali ste krivi broj!" << endl;
  94.  
  95.  
  96. } }
  97. while (meni != 9); }
  98.  
  99. void drugi() {
  100. int meni;
  101. do {
  102. cout << "---------------" << endl;
  103. cout << "OPHODENJE STABLA" << endl;
  104. cout << "---------------" << endl;
  105. cout << "1. PreOrder" << endl;
  106. cout << "2. InOrder" << endl;
  107. cout << "3. PostOrder" << endl;
  108. cout << "4. Povratak u glavni izbornik" << endl;
  109. cin >> meni;
  110.  
  111. switch (meni) {
  112. case 1:
  113. cout << "--------" << endl;
  114. cout << "Preorder" << endl;
  115. cout << "--------" << endl;
  116. PreOrder (RootT (s), s);
  117. break;
  118.  
  119. case 2:
  120. cout << "--------" << endl;
  121. cout << "Inorder" << endl;
  122. cout << "--------" << endl;
  123. InOrder (RootT (s), s);
  124. break;
  125.  
  126. case 3:
  127. cout << "--------" << endl;
  128. cout << "Postorder" << endl;
  129. cout << "--------" << endl;
  130. PostOrder (RootT (s), s);
  131. break;
  132.  
  133. default:
  134. cout << "Upisali ste krivi broj!" << endl;
  135.  
  136. } }
  137. while (meni != 4); }
  138.  
  139. void treci() {
  140. int k, meni, oznaka, cvor;
  141. cout << "Korijen binarnog stabla: ";
  142. cin >> k;
  143. InitB (k, bst);
  144.  
  145. do {
  146. cout << "---------------" << endl;
  147. cout << "Binarno STABLO" << endl;
  148. cout << "---------------" << endl;
  149. cout << "1. Korijen" << endl;
  150. cout << "2. Dodaj lijevo dijete" << endl;
  151. cout << "3. Dodaj desno dijete" << endl;
  152. cout << "4. Ispis lijevog dijeteta" << endl;
  153. cout << "5. Ispis denog dijeteta" << endl;
  154. cout << "6. Brisanje cvora" << endl;
  155. cout << "7. Promjena oznake cvora" << endl;
  156. cout << "8. Roditelj cvora" << endl;
  157. cout << "9. Povratak u glavni izbornik" << endl;
  158. cin >> meni;
  159. cout << "---------------" << endl;
  160.  
  161. switch (meni) {
  162. case 1:
  163. cout << "Korijen stabla je: " << LabelB (RootB (bst), bst) << endl;
  164. break;
  165.  
  166. case 2:
  167. cout << "Unesite oznaku cvora kojem stvarate dijete: ";
  168. cin >> oznaka;
  169.  
  170. cout << "Unesite lijevi cvor: ";
  171. cin >> cvor;
  172.  
  173. CreateLeftB (cvor, FindB (oznaka, bst), bst);
  174. break;
  175. case 3:
  176.  
  177. cout << "Unesite oznaku cvora kojem stvarate dijete: ";
  178. cin >> oznaka;
  179.  
  180. cout << "Unesite desni cvor: ";
  181. cin >> cvor;
  182.  
  183. CreateRightB (cvor, FindB (oznaka, bst), bst);
  184. break;
  185.  
  186. case 4:
  187. cout << "Unesite oznaku cvora: ";
  188. cin >> oznaka;
  189. cout << "Lijevo dijete je " << LabelB (LeftChildB (FindB (oznaka, bst), bst), bst) << endl;
  190. break;
  191.  
  192. case 5:
  193. cout << "Unesite oznaku cvora: ";
  194. cin >> oznaka;
  195. cout << "Desno dijete je " << LabelB (RightChildB (FindB (oznaka, bst), bst), bst) << endl;
  196. break;
  197.  
  198. case 6:
  199. cout << "Koji cvor zelite obrisati: ";
  200. cin >> cvor;
  201.  
  202. DeleteB (FindB (oznaka, bst), bst);
  203. break;
  204.  
  205. case 7:
  206. cout << "Unesite oznaku cvora: ";
  207. cin >> oznaka;
  208.  
  209. cout << "Unesite novu vrijednost: ";
  210. cin >> cvor;
  211.  
  212. ChangeLabelB (cvor, FindB (oznaka, bst), bst);
  213. break;
  214.  
  215. case 8:
  216. cout << "Unesite oznaku cvora: ";
  217. cin >> oznaka;
  218.  
  219. cout << "Roditelj je " << LabelB (ParentB (FindB (oznaka, bst), bst), bst) << endl;
  220. break;
  221.  
  222. default:
  223. cout << "Upisali ste krivi broj!" << endl;
  224.  
  225. }
  226.  
  227. }
  228. while (meni != 9); }
  229.  
  230. int main () {
  231. int meni;
  232. do {
  233. cout << "---------------" << endl;
  234. cout << "GLAVNI IZBORNIK" << endl;
  235. cout << "---------------" << endl;
  236. cout << "1. Opcenito stablo" << endl;
  237. cout << "2. Ophodjenje stabla" << endl;
  238. cout << "3. Binarno stablo " << endl;
  239. cout << "9. Izlaz iz programa" << endl;
  240. cin >> meni;
  241. cout << "---------------" << endl;
  242.  
  243. switch (meni) {
  244. case 1:
  245. opStablo();
  246. break;
  247.  
  248. case 2:
  249. drugi();
  250. break;
  251.  
  252. case 3:
  253. treci();
  254. break;
  255.  
  256. case 9:
  257. break;
  258. default:
  259. cout << "Upisali ste krivi broj!" << endl; } }
  260. while (meni != 9);
  261. return 0;
  262.  
  263. return 0; }

Report this snippet  

You need to login to post a comment.