Advertisement
wendy890711

PathCost

Dec 13th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <iomanip>
  4. using namespace std;
  5. #define size 7
  6. #define dis 9999999
  7. int GraphMatrix[size][size];
  8.  
  9. void BuildMatrix(int*PathCost)
  10. {
  11. int StartPoint;
  12. int EndPoint;
  13. int i, j;
  14. for (i = 1; i < size; i++)
  15. {
  16. for (j = 1; j < size; j++)
  17. {
  18. if (i == j)
  19. GraphMatrix[i][j] = 0;
  20. else
  21. GraphMatrix[i][j] = dis;
  22. }
  23. }
  24.  
  25. i = 0;
  26. for (int i = 0; i < 12;i++)
  27. {
  28. StartPoint = PathCost[i * 3]-1;
  29. EndPoint = PathCost[i * 3 + 1]-1;
  30. GraphMatrix[StartPoint][EndPoint] = PathCost[i * 3 + 2];
  31. GraphMatrix[EndPoint][StartPoint] = PathCost[i * 3 + 2];
  32. }
  33. }
  34.  
  35. void PrintGraph()
  36. {
  37. int i, j;
  38. for (i = 0; i < size; i++)
  39. {
  40. cout << "vex" << i+1;
  41. for (j = 0; j < size; j++)
  42. {
  43. {
  44. if (GraphMatrix[i][j] == dis)
  45. cout <<setw(5)<< 'x';
  46. else
  47. {
  48. GraphMatrix[j][i] = GraphMatrix[i][j];
  49. cout << setw(5) << GraphMatrix[i][j];
  50. }
  51. }
  52. }
  53. cout << endl;
  54. }
  55. }
  56.  
  57. int main(void)
  58. {
  59. int PathCost[12][3] = {
  60. { 1, 2, 17 },
  61. { 2, 3, 6 },
  62. { 3, 4, 11 },
  63. { 4, 5, 19 },
  64. { 5, 6, 9 },
  65. { 1, 5, 20 },
  66. { 1, 6, 4 },
  67. { 1, 7, 24 },
  68. { 2, 7, 12 },
  69. { 2, 4, 8 },
  70. { 4, 7, 15 },
  71. { 5, 7, 32 },
  72.  
  73. };
  74. BuildMatrix(&PathCost[0][0]);
  75. cout << "相鄰矩陣如下" << endl;
  76. cout << "頂點 vex1 vex2 vex3 vex4 vex5 vex6 vex7" << endl;
  77. PrintGraph();
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement