Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream f("graful.in");
  5. int a[20][20], viz[20],c[20];
  6. int n, x, p, u, comp;
  7.  
  8. void citire(int a[20][20], int&n){
  9. int i, j;
  10. f>>n;
  11. while(f>>i>>j) {a[i][j]=a[j][i]=1;}}
  12.  
  13. void bfs(int x)
  14. {int i;
  15. comp++;
  16. p=u=1;
  17. c[p]=x;
  18. viz[x]=1;
  19. cout<<x<<" ";
  20. while(p<=u)
  21. {
  22. for(i=1; i<=n; i++)
  23. if(a[c[p]][i]==1 && !viz[i]) {
  24. u++;
  25. c[u]=i;
  26. viz[i]=1;
  27. cout<<i<<" ";}
  28. p++;}
  29. }
  30. int am_nod_nevizitat()
  31. {
  32. int i;
  33. for(i=1; i<=n; i++)
  34. if(!viz[i]) return i;
  35. return 0;
  36. }
  37. int main(){
  38.  
  39. cout<<"dati nod pornire ";cin>>x;
  40. citire(a, n);
  41. bfs(x);
  42. while(am_nod_nevizitat())
  43. {
  44. x=am_nod_nevizitat();
  45. bfs(x);}
  46. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement