Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin ("graf.in");
  7. ofstream fout ("graf.out");
  8.  
  9. int a[20][20], n, i, j, v[20],gasit=0,coada[20],ic,sc;
  10. void Citire();
  11. void DF(int nod);
  12. void Init();
  13. void Componentaconexa();
  14. void DFciclu(int nod);
  15. void BF(int nod);
  16.  
  17. int main()
  18. {
  19. Citire();
  20. DF(3);
  21. fout << endl;
  22. Init();
  23. Componentaconexa();
  24. fout << endl;
  25. Init();
  26. BF(6);
  27. /*DFciclu(3);
  28. fout << endl;
  29. if(gasit)
  30. fout <<"\nAre cicluri";
  31. else
  32. fout <<"\nNu are cicluri";*/
  33. return 0;
  34. }
  35.  
  36. void Citire()
  37. {
  38. int x, y;
  39. fin >> n;
  40. while (fin >> x >> y)
  41. a[x][y] = a[y][x] = 1;
  42. }
  43.  
  44. void DF(int nod)
  45. {
  46. int k;
  47. fout << nod << " ";
  48. v[nod]=1;
  49. for (k=1 ; k<=n; k++)
  50. if (a[nod][k]==1 && !v[k])
  51. DF(k);
  52. }
  53.  
  54. void Init()
  55. {
  56. for (i=1 ; i<=20 ; i++)
  57. v[i]=0;
  58. }
  59.  
  60. void Componentaconexa()
  61. {
  62. int nrcc=0;
  63. for (i=1 ; i<=n ;i++)
  64. if (!v[i])
  65. {
  66. nrcc++;
  67. fout <<"\nComponenta conexa: "<< nrcc << ": ";
  68. DF(i);
  69. }
  70. }
  71.  
  72. void DFciclu(int nod)
  73. {
  74. int k;
  75. v[nod]=1;
  76. for (k=1 ; k<=n ;k++)
  77. if (a[nod][k]==1)
  78. {
  79. a[k][nod]=0;
  80. if(!v[k])
  81. DFciclu(k);
  82. else
  83. gasit=1;
  84. }
  85. }
  86.  
  87. void BF(int nod)
  88. {
  89. ic=sc=1;
  90. coada[ic]=nod;
  91. v[nod]=1;
  92. while (ic<=sc)
  93. {
  94. for (i=1 ; i<=n ; i++)
  95. {
  96. if (a[coada[ic]][i]==1 && !v[i])
  97.  
  98. {
  99. sc++;
  100. coada[sc]=i;
  101. v[i]=1;
  102. }
  103. }
  104. fout << coada[ic] << " ";
  105. ic++;
  106. }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement