Advertisement
rowers

Untitled

Dec 5th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <fstream>
  4. #include <string>
  5. #include <iostream>
  6. #include <cstring>
  7. #include <cstdlib>
  8.  
  9. // nasza stala okresla nieskonczonosc
  10. static const int nieskonczonosc = 10000;
  11. int main()
  12. {
  13. int A[100][100];
  14. int D[100];
  15. int N, n;
  16.  
  17. std::fstream plik;
  18. plik.open("graf.txt", std::ios::in | std::ios::out);
  19.  
  20. if (!plik.good())
  21. std::cout << "Brak pliku graf.txt!" << std::endl;
  22. else
  23. {
  24. plik >> n;
  25. std::cout << "Liczba wierzcholkow: " << n << std::endl << std::endl;
  26.  
  27. std::string liczba;
  28. //std::cout << "Zawartosc pliku: " << std::endl;
  29. //std::cout << "================" << std::endl;
  30. for (int j = 0; j < n; j++)
  31. {
  32. for (int i = 0; i < n; i++)
  33. {
  34.  
  35. plik >> liczba;
  36. if (liczba == "*")
  37. A[i][j] = nieskonczonosc;
  38. else
  39. {
  40. int temp = atoi(liczba.c_str());
  41. A[i][j] = temp;
  42. }
  43. //std::cout << A[i][j] << ", ";
  44. }
  45. //std::cout << std::endl;
  46. }
  47. std::cout << "================" << std::endl;
  48. plik.close();
  49.  
  50. //std::cout << "Poczatkowa zawartosc D[i]: " << std::endl;
  51. for (int i = 0; i < n; i++)
  52. {
  53. D[i] = A[i][0];
  54. //std::cout << D[i] << ", ";
  55. }
  56. //std::cout << std::endl << std::endl;
  57.  
  58. for (int k = 1; k <= n - 2; k++)
  59. {
  60. for (int i = 1; i < n; i++)
  61. {
  62. for (int j = 0; j<n; j++)
  63. {
  64. if (D[j] + A[i][j]>nieskonczonosc)
  65. N = nieskonczonosc;
  66. else
  67. N = D[j] + A[i][j];
  68. D[i] = (D[i] < N) ? D[i] : N;
  69. }
  70. }
  71. }
  72. std::cout << std::endl;
  73.  
  74. for (int i = 0; i < n; i++)
  75. {
  76. if (D[i] < nieskonczonosc)
  77. std::cout << "D[" << i + 1 << "]" << "= " << D[i] << std::endl;
  78. else
  79. std::cout << "D[" << i + 1 << "]" << "= " << "*" << std::endl;
  80. }
  81. }
  82.  
  83. return EXIT_SUCCESS;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement