Advertisement
Guest User

Untitled

a guest
May 20th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. using namespace std;
  5.  
  6. struct Letalisce1
  7. {
  8. string naziv_let;
  9. string naziv_prev;
  10. int st_potnikov;
  11. struct Letalisce1 *next1,*prev1;
  12. }*start1=NULL,*konc1 = NULL,*tmp1;
  13.  
  14. struct Letalisce2
  15. {
  16. string naziv_let;
  17. string naziv_prev;
  18. int st_potnikov;
  19. struct Letalisce2 *next2,*prev2;
  20. }*start2=NULL,*konc2 = NULL,*tmp2;
  21.  
  22. struct Letalisce1_sort
  23. {
  24. string naziv_let;
  25. string naziv_prev;
  26. int st_potnikov;
  27. struct Letalisce1_sort *next3,*prev3;
  28. }*start3=NULL,*konc3 = NULL,*tmp3,*p,*cur;
  29.  
  30. struct Letalisce2_sort
  31. {
  32. string naziv_let;
  33. string naziv_prev;
  34. int st_potnikov;
  35. struct Letalisce2_sort *next4,*prev4;
  36. }*start4=NULL,*konc4 = NULL,*tmp4;
  37.  
  38. void vpis(bool st,string ime_let,string ime_prev,int st_pot)
  39. {
  40. tmp1 = new struct Letalisce1;
  41. tmp2 = new struct Letalisce2;
  42. if(st)
  43. {
  44. tmp1->naziv_let = ime_let;
  45. tmp1->naziv_prev = ime_prev;
  46. tmp1->st_potnikov = st_pot;
  47.  
  48. if(start1 == NULL)
  49. {
  50. start1 = tmp1;
  51. tmp1->next1 = NULL;
  52. konc1 = tmp1;
  53. tmp1->prev1 = NULL;
  54.  
  55. }
  56. else
  57. {
  58. start1->prev1 = tmp1;
  59. tmp1->next1 = start1;
  60. tmp1->prev1 = NULL;
  61. start1 = tmp1;
  62.  
  63.  
  64. }
  65. }
  66. else
  67. {
  68. tmp2->naziv_let = ime_let;
  69. tmp2->naziv_prev = ime_prev;
  70. tmp2->st_potnikov = st_pot;
  71.  
  72. if(start2 == NULL)
  73. {
  74. start2 = tmp2;
  75. tmp2->next2 = NULL;
  76. konc2 = tmp2;
  77. tmp2->prev2 = NULL;
  78.  
  79. }
  80. else
  81. {
  82. start2->prev2 = tmp2;
  83. tmp2->next2 = start2;
  84. tmp2->prev2 = NULL;
  85. start2 = tmp2;
  86.  
  87.  
  88. }
  89. }
  90.  
  91. }
  92.  
  93. void izpis_spredaj()
  94. {
  95. tmp1 = start1;
  96. tmp2 = start2;
  97. cout << "Podatki za Letalisce 1 (od zacetka): " << endl;
  98. while(tmp1!=NULL)
  99. {
  100. cout << "Naziv letalisca: " << tmp1->naziv_let << ", naziv prevoznika: " << tmp1->naziv_prev << ", stevilo potnikob: " << tmp1->st_potnikov << "." << endl;
  101. tmp1 = tmp1->next1;
  102. }
  103. cout << "Podatki za Letalisce 2 (od zacetka): " << endl;
  104. while(tmp2!=NULL)
  105. {
  106. cout << "Naziv letalisca: " << tmp2->naziv_let << ", naziv prevoznika: " << tmp2->naziv_prev << ", stevilo potnikob: " << tmp2->st_potnikov << "." << endl;
  107. tmp2 = tmp2->next2;
  108. }
  109.  
  110. }
  111. void izpis_nazaj()
  112. {
  113. tmp1 = konc1;
  114. tmp2 = konc2;
  115. cout << "Podatki za Letalisce 1 (iz konca): " << endl;
  116. while(tmp1!=NULL)
  117. {
  118. cout << "Naziv letalisca: " << tmp1->naziv_let << ", naziv prevoznika: " << tmp1->naziv_prev << ", stevilo potnikob: " << tmp1->st_potnikov << "." << endl;
  119. tmp1 = tmp1->prev1;
  120. }
  121. cout << "Podatki za Letalisce 2 (iz konca): " << endl;
  122. while(tmp2!=NULL)
  123. {
  124. cout << "Naziv letalisca: " << tmp2->naziv_let << ", naziv prevoznika: " << tmp2->naziv_prev << ", stevilo potnikob: " << tmp2->st_potnikov << "." << endl;
  125. tmp2 = tmp2->prev2;
  126. }
  127.  
  128. }
  129. /*
  130. void sortiraj()
  131. {
  132. tmp1 = start1;
  133. tmp2 = start2;
  134. tmp3 = new struct Letalisce1_sort;
  135. tmp4 = new struct Letalisce2_sort;
  136. while(tmp1!=NULL)
  137. {
  138. tmp3->naziv_let = tmp1->naziv_let;
  139. tmp3->naziv_prev = tmp1->naziv_prev;
  140. tmp3->st_potnikov = tmp1->st_potnikov;
  141.  
  142.  
  143. if(start3 == NULL)
  144. {
  145. tmp3->next3 = NULL;
  146. konc3 = tmp3;
  147. tmp3->prev3 = NULL;
  148. start3 = tmp3;
  149. }
  150. else
  151. {
  152. cur = start3;
  153. cout << tmp3->st_potnikov << ", " << cur->st_potnikov << endl;
  154. cout << "TMP3: " << tmp3 << endl;
  155. while(tmp3->st_potnikov > cur->st_potnikov && cur != NULL){
  156. p = cur;
  157. cur = cur->next3;
  158. cout << "X" << endl;
  159. }
  160. if(cur == start3)
  161. {
  162. tmp3->prev3 = NULL;
  163. start3->prev3 = tmp3;
  164. tmp3->next3 = start3;
  165. start3 = tmp3;
  166. cout << "ZACETEK" << endl;
  167. }
  168. else
  169. if(cur == konc3)
  170. {
  171. p->next3 = tmp3;
  172. tmp3->prev3 = p;
  173. tmp3->next3 = NULL;
  174. konc3 = tmp3;
  175. cout << "KONEC" << endl;
  176. }
  177. else
  178. {
  179. cur->next3->prev3 = tmp3;
  180. tmp3->next3 = cur->next3;
  181. cur->next3 = tmp3;
  182. tmp3->prev3 = cur;
  183. }
  184.  
  185. }
  186.  
  187. tmp1 = tmp1->next1;
  188. }
  189.  
  190. while(tmp2!=NULL)
  191. {
  192. tmp4->naziv_let = tmp2->naziv_let;
  193. tmp4->naziv_prev = tmp2->naziv_prev;
  194. tmp4->st_potnikov = tmp2->st_potnikov;
  195.  
  196. if(start4 == NULL)
  197. {
  198. tmp4->next4 = NULL;
  199. konc4 = tmp4;
  200. tmp4->prev4 = NULL;
  201. start4= tmp4;
  202. }
  203. else
  204. {
  205. struct Letalisce2_sort *cur = start4;
  206. while(tmp4->st_potnikov > cur->st_potnikov && cur == konc4)
  207. cur = cur->next4;
  208. if(cur = start4)
  209. {
  210. tmp4->prev4 = NULL;
  211. cur->prev4= tmp4;
  212. tmp4->next4 = cur;
  213. start4 = tmp4;
  214. }
  215. else
  216. if(cur == konc4)
  217. {
  218. cur->next4 = tmp4;
  219. tmp4->prev4 = cur;
  220. tmp4->next4 = NULL;
  221. konc4 = tmp4;
  222. }
  223. else
  224. {
  225. cur->next4->prev4 = tmp4;
  226. tmp4->next4 = cur->next4;
  227. cur->next4 = tmp4;
  228. tmp4->prev4 = cur;
  229. }
  230.  
  231. }
  232. tmp2 = tmp2->next2;
  233. }
  234. }*/
  235.  
  236. void izpis_sortirano()
  237. {
  238. tmp3 = start3;
  239. tmp4 = start4;
  240. cout << "Podatki za Letalisce 1 (sortirano): " << endl;
  241. while(tmp3!=NULL)
  242. {
  243. cout << "Naziv letalisca: " << tmp3->naziv_let << " , naziv prevoznika: " << tmp3->naziv_prev << " , stevilo potnikov: " << tmp3->st_potnikov << "." << endl;
  244. tmp3 = tmp3->next3;
  245. }
  246. /* cout << "Podatki za Letalisce 2 (sortirano): " << endl;
  247. while(tmp4!=NULL)
  248. {
  249. cout << "Naziv letalisca: " << tmp4->naziv_let << ", naziv prevoznika: " << tmp4->naziv_prev << ", stevilo potnikob: " << tmp4->st_potnikov << "." << endl;
  250. tmp4 = tmp4->next4;
  251. }*/
  252.  
  253. }
  254.  
  255. void prestavi(int m)
  256. {
  257. int i = 1;
  258. tmp1 = start1;
  259. tmp2 = start2;
  260.  
  261.  
  262. while(i<m)
  263. {
  264. tmp1 = tmp1->next1;
  265. i++;
  266. }
  267. tmp2->naziv_prev = tmp1->naziv_prev;
  268. tmp2->st_potnikov = tmp1->st_potnikov;
  269. tmp2->naziv_let = tmp1->naziv_let;
  270.  
  271.  
  272. tmp2->next2 = start2;
  273. start2->prev2 = tmp2;
  274. tmp2->prev2 = NULL;
  275. start2 = tmp2;
  276.  
  277. tmp1->prev1->next1 = tmp1->next1;
  278. tmp1->next1->prev1 = tmp1->prev1;
  279. delete tmp1;
  280.  
  281. }
  282.  
  283. int main()
  284. {
  285. srand(time(NULL));
  286.  
  287. int n;
  288.  
  289. for(int i = 0;i<7;i++)
  290. {
  291. n = rand()%100;
  292. vpis(1,"Letalisce1","Adria",n);
  293. n = rand()%100;
  294. vpis(0,"Letalisce2","Rayner",n);
  295. }
  296. bool m;
  297.  
  298. cout << "V katero smer hocete izpis? Od zacetka(1) ali iz konca(0): ";
  299. cin >> m;
  300. if(m)
  301. izpis_spredaj();
  302. else
  303. izpis_nazaj();
  304. int k;
  305. // sortiraj();
  306. // izpis_sortirano();
  307. cout << "kateri element hocete prestaviti iz ene tabele v drugo: ";
  308. cin >>k ;
  309. prestavi(k);
  310. izpis_spredaj();
  311.  
  312.  
  313.  
  314.  
  315. return 0;
  316. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement