Advertisement
edutedu

graf_neorientat.h

Jan 29th, 2020
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. #ifndef GRAFNEORIENTAT_H_INCLUDED
  7. #define GRAFNEORIENTAT_H_INCLUDED
  8.  
  9. int a[10][10],n,viz[25],T[20];
  10. ifstream f("date.in");
  11. ifstream f1("date1.in");
  12.  
  13. void citire_graf_fisier(int a[10][10], int &n)
  14. {
  15. f>>n;
  16. for(int i=1; i<=n; i++)
  17. for(int j=1; j<=n; j++)
  18. f>>a[i][j];
  19. }
  20.  
  21. void citire_graf_fisier_muchii(int a[10][10], int &n)
  22. {
  23. int i,j;
  24. f1>>n;
  25. while(f1>>i>>j)
  26. a[i][j]=a[j][i]=1;
  27. }
  28.  
  29. void init(int a[10][10])
  30. {
  31. for(int i=0; i<10; i++)
  32. for(int j=0; j<10; j++)
  33. a[i][j]=0;
  34. }
  35.  
  36. void AfisareMatriceAdiacenta(int a[10][10], int n)
  37. {
  38. for(int i=1; i<=n; i++)
  39. {
  40. for(int j=1; j<=n; j++)
  41. cout<<a[i][j]<<" ";
  42. cout<<endl;
  43. }
  44. cout<<endl;
  45. }
  46.  
  47. int grad(int a[10][10], int n, int nod)
  48. {
  49. int rez=0;
  50. for(int i=1; i<=n; i++)
  51. rez+=a[nod][i];
  52. return rez;
  53. }
  54.  
  55. int NodIzolat(int a[10][10], int n, int nod)
  56. {
  57. if(grad(a,n,nod)==0)
  58. return 1;
  59. else
  60. return 0;
  61. }
  62.  
  63. int NodTerminal(int a[10][10], int n, int nod)
  64. {
  65. if(grad(a,n,nod)==1)
  66. return 1;
  67. else
  68. return 0;
  69. }
  70.  
  71. int GradMaxim(int a[10][10], int n, int nod)
  72. {
  73. int maxim=0;
  74. for(int i=1; i<=n; i++)
  75. if(maxim<grad(a,n,i))
  76. maxim=grad(a,n,i);
  77. return maxim;
  78. }
  79.  
  80. int NrMuchii(int a[10][10], int n)
  81. {
  82. int rez=0;
  83. for(int i=0; i<=n; i++)
  84. rez+=grad(a,n,i);
  85. rez/=2;
  86. return rez;
  87. }
  88.  
  89. void BF_modificat(int a[10][10], int n, int nod)
  90. {
  91. int prim=1, ultim=1,coada[25];
  92. coada[prim]=nod;
  93. viz[nod]=1;
  94. while(prim<=ultim)
  95. {
  96. for(int i=1; i<=n; i++)
  97. if(a[coada[prim]][i]==1 && !viz[i])
  98. {
  99. ultim++;
  100. coada[ultim]=i;
  101. viz[i]=1;
  102. T[i]=coada[prim];
  103. }
  104. cout<<coada[prim];
  105. prim++;
  106. }
  107. }
  108.  
  109. void BF(int a[10][10], int n, int nod)
  110. {
  111. int prim=1, ultim=1,coada[25];
  112. coada[prim]=nod;
  113. viz[nod]=1;
  114. while(prim<=ultim)
  115. {
  116. for(int i=1; i<=n; i++)
  117. if(a[coada[prim]][i] && !viz[i])
  118. {
  119. ultim++;
  120. coada[ultim]=i;
  121. viz[i]=1;
  122. }
  123. cout<<coada[prim];
  124. prim++;
  125. }
  126. }
  127.  
  128. void DF(int a[10][10], int n, int nod)
  129. {
  130. cout<<nod;
  131. viz[nod]=1;
  132. for(int i=1; i<=n; i++)
  133. if(a[nod][i] && !viz[i])
  134. DF(a,n,i);
  135. }
  136.  
  137.  
  138. #endif // GRAFNEORIENTAT_H_INCLUDED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement