Advertisement
GerexD

igraf5

Nov 12th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. /**
  4. Legyen adott egy város úthálózata, amelyben a tereket számokkal jelöljük. Ezt az utak.be állományból
  5. olvashatjuk be. Válaszolj a következô kérdésekre:
  6. 1. Add meg azokat a tér párokat, amelyek nincsenek úttal összekötve.
  7. 2. Add meg azokat a tereket, ahonnan bármelyik másik térre el tudunk jutni.
  8. 3. Add meg azokat a tereket, ahova sehonnan nem tudunk eljutni.
  9. */
  10. using namespace std;
  11. void feltolt(int a[][30],int &n,int &m)
  12. {
  13. ifstream f("utak.be.txt");
  14. f>>n>>m;
  15. int x,y;
  16. for(int i=1; i<=n; i++)
  17. {
  18. for (int j=1; j<=m; j++)
  19. {
  20. f>>x>>y;
  21. a[x][y]=1;
  22. }
  23. }
  24. f.close();
  25.  
  26. }
  27. void utmatrix(int a[][30],int n)
  28. {
  29. for(int k=1; k<=n; k++)
  30. for(int i=1; i<=n; i++)
  31. for(int j=1; j<=n; j++)
  32. if(a[i][j]==0) a[i][j]=a[i][k]*a[k][j];
  33.  
  34. }
  35. void kiir(int a[][30],int n)
  36. {
  37. for(int i=1;i<=n;i++)
  38. {
  39. for(int j=1;j<=n;j++)
  40. cout<<a[i][j]<<" ";
  41. cout<<endl;
  42. }
  43. }
  44. int main()
  45. {
  46. int a[30][30]={0},n,m;
  47. feltolt(a,n,m);
  48. kiir(a,n);
  49. cout<<endl;
  50. utmatrix(a,n);
  51. kiir(a,n);
  52. cout<<"Azok a terek, amelyek nincsenek uttal osszekotve:"<<endl;
  53. for(int i=1; i<=n; i++)
  54. {
  55. for(int j=1; j<=n; j++)
  56. if(a[i][j]==0 && i!=j) cout<<i<<" "<<j<<endl;
  57.  
  58. }
  59. cout<<"Azok a terek, ahonnan barmelyik masik terre el lehet jutni:"<<endl;
  60. for(int i=1; i<=n; i++)
  61. {
  62. int k=1;
  63. for(int j=1; j<=n; j++)
  64. if(a[i][j]==0 && i!=j) k=0;
  65. if(k==1) cout<<i<<",";
  66. }
  67. cout<<endl;
  68. cout<<"Azok a terek, ahova sehonnan nem lehet eljutni:"<<endl;
  69. for(int i=1; i<=n; i++)
  70. {
  71. int z=1;
  72. for(int j=1; j<=n; j++)
  73. if(a[j][i]==1) z=0;
  74. if(z==1) cout<<i<<",";
  75. }
  76.  
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement