Advertisement
Zlajaa7

ASP::Matrica Susjedstva

Nov 18th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3.  
  4. using namespace std;
  5.  
  6. typedef Tip;
  7. class Cvor {
  8. public:
  9. Cvor * next;
  10. Tip t;
  11. public:
  12. Cvor(Cvor * next, Tip t)
  13. {
  14. this->next = next;
  15. this->t = t;
  16. }
  17. };
  18. class ListaPov {
  19. Cvor * prvi;
  20. public:
  21. ListaPov()
  22. {
  23. prvi = nullptr;
  24. }
  25. void Dodaj(Tip t) {
  26. Cvor * novi = new Cvor (prvi, t);
  27. prvi = novi;
  28. }
  29. bool UkloniByKey(Tip kljuc) {
  30. Cvor * temp1 = prvi;
  31. Cvor * preTemp1 = nullptr;
  32. while (temp1 != nullptr) {
  33. if (temp1->t == kljuc)
  34. break;
  35. preTemp1 = temp1;
  36. temp1 = temp1->next;
  37. }
  38. if (temp1 == nullptr)
  39. return false;
  40. if (preTemp1 == nullptr)
  41. prvi = temp1->next;
  42. else {
  43. preTemp1->next = temp1->next;
  44. }
  45. delete temp1;
  46. return true;
  47. }
  48. bool Pretrazi(Tip kljuc) {
  49. Cvor * temp = prvi;
  50. while (temp != nullptr) {
  51. if (temp->t == kljuc)
  52. return true;
  53. temp = temp->next;
  54. }
  55. return false;
  56. }
  57. };
  58.  
  59. class MatricaSusjedstva {
  60. int ** matrica;
  61. int velicina;
  62. public:
  63. MatricaSusjedstva(int velicina)
  64. {
  65. this->velicina = velicina;
  66. matrica= new int*[velicina];
  67. for (int i = 0; i < velicina; i++)
  68. {
  69. matrica[i] = new int[velicina];
  70. for (int j = 0; j < velicina; j++)
  71. {
  72. matrica[i][j] = 0;
  73. }
  74. }
  75. }
  76. void Ucitaj(string naziv) {
  77. int varijabla;
  78. ifstream fajl(naziv);
  79. for (int i = 0; i < velicina; i++)
  80. {
  81. for (int j = 0; j < velicina; j++)
  82. {
  83. fajl >> varijabla;
  84. matrica[i][j] = varijabla;
  85. }
  86. }
  87. fajl.close();
  88. }
  89. void Ispis() {
  90. for (int i = 0; i < velicina; i++)
  91. {
  92. for (int j = 0; j < velicina; j++)
  93. {
  94. cout << matrica[i][j] << " ";
  95. }
  96. cout << endl;
  97. }
  98. }
  99. bool JelSusjed(int from, int to) {
  100. return matrica[from][to] != 0;
  101. }
  102. int UlazniStepen(int i) {
  103. int suma = 0;
  104. for (int j = 0; j < velicina; j++)
  105. {
  106. suma += matrica[i][j]; //redovi
  107. }
  108. return suma;
  109. }
  110. int IzlazniStepen(int j) {
  111. int suma = 0;
  112. for (int i = 0; i < velicina; i++)
  113. {
  114. suma += matrica[i][j]; //kolone
  115. }
  116. return suma;
  117. }
  118. int tezina(int from, int to) {
  119. return matrica[from][to];
  120. }
  121. int IzlazniStepenMax() {
  122. int najveci = 0;
  123. int prviRed = IzlazniStepen(najveci);
  124. for (int i = 1; i < velicina; i++)
  125. {
  126. int t = IzlazniStepen(i);
  127. if (t > prviRed) {
  128. prviRed = t;
  129. najveci = i;
  130. }
  131. }
  132. return najveci;
  133. }
  134. int UlazniStepenMax() {
  135. int najveci = 0;
  136. int prviKolona = UlazniStepen(najveci);
  137. for (int i = 1; i < velicina; i++)
  138. {
  139. int t = UlazniStepen(i);
  140. if (t > prviKolona) {
  141. prviKolona = t;
  142. najveci = i;
  143. }
  144. }
  145. return najveci;
  146. }
  147. };
  148. void main() {
  149.  
  150.  
  151.  
  152.  
  153. system("pause");
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement