Guest User

Untitled

a guest
Dec 16th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. int numberOfNodes, valueOfRoad[10][10], roadTaken[10][10];
  6. std::cout << "input number of nodes: ";
  7. std::cin >> numberOfNodes;
  8. std::cout << "input the weight of each road:\n";
  9. for(int line = 1; line <= numberOfNodes; line++)
  10. for(int column = 1; column <= numberOfNodes; column++){
  11. std::cin >> valueOfRoad[line][column];
  12. if(valueOfRoad[line][column] == 0)
  13. valueOfRoad[line][column] = 999999;
  14. if(line == column)
  15. valueOfRoad[line][column] = 0;
  16. roadTaken[line][column] = line;
  17. }
  18. for(int link = 1; link <= numberOfNodes; link++)
  19. for(int line = 1; line <= numberOfNodes; line++)
  20. for(int column = 1; column <= numberOfNodes; column++)
  21. if(valueOfRoad[line][column] > valueOfRoad[line][link] + valueOfRoad[link][column]){
  22. valueOfRoad[line][column] = valueOfRoad[line][link] + valueOfRoad[link][column];
  23. roadTaken[line][column] = roadTaken[line][link];
  24. }
  25. for(int line = 1; line <= numberOfNodes; line++)
  26. for(int column = line; column <= numberOfNodes; column++){
  27. std::cout << column << " ";
  28. int link = roadTaken[line][column];
  29. while(link != line){
  30. std::cout << link << " ";
  31. link = roadTaken[line][link];
  32. }
  33. std::cout << line << "\n";
  34. }
  35. return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment