Guest User

Untitled

a guest
Nov 18th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. #include "arrayoperation.h"
  2. #include "findfastestway.h"
  3.  
  4. double CheckWay1(double **tab, int a, int b, int x, int y ){
  5.  
  6. double suma=0;
  7. int t;
  8.  
  9. for(int i=b+1; i<=y-1-b; i++){
  10.  
  11. suma+=tab[i][a];
  12. cout<<" SPR Wykonuje przejscie w prawo "<<tab[i-1][a]<<" do "<<tab[i][a] <<"a= "<<a<<", b= "<<i<<endl;
  13. t=i;
  14. }
  15.  
  16. for(int i=t; i<=y-2 ;i++)
  17. {
  18. cout<<" SPR Wykonuje przejscie skosem dol "<<tab[i][a]<<" do "<<tab[i+1][a+1] <<"a= "<<a<<", b= "<<b<<endl;
  19. suma+=tab[i+1][a+1]+0.01;
  20. a+=1;
  21. b+=1;
  22.  
  23. }
  24.  
  25. cout<<endl<<endl;
  26. return suma;
  27. }
  28.  
  29. double CheckWay2(double **tab, int a, int b, int x, int y ){
  30.  
  31. double suma=0;
  32. int t;
  33. cout<<"Wykonuje przejscie po skosie do gory z punktu "<<tab[b][a]<<" do "<<tab[b+1][a-1] <<"a= "<<a<<", b= "<<b<<endl;
  34.  
  35. suma+=tab[b+1][a-1]+0.01;
  36. a-=1;
  37. b+=1;
  38. t=b;
  39.  
  40. for(int i=b+1; i<=y-1-b; i++){
  41.  
  42. suma+=tab[i][a];
  43. cout<<" SPR Wykonuje przejscie w prawo "<<tab[i-1][a]<<" do "<<tab[i][a] <<"a= "<<a<<", b= "<<i<<endl;
  44. t=i;
  45. }
  46.  
  47. for(int i=t; i<=y-2 ;i++)
  48. {
  49. cout<<" SPR Wykonuje przejscie skosem dol "<<tab[i][a]<<" do "<<tab[i+1][a+1] <<"a= "<<a<<", b= "<<b<<endl;
  50. suma+=tab[i+1][a+1]+0.01;
  51. a+=1;
  52. b+=1;
  53.  
  54. }
  55.  
  56. cout<<endl<<endl;
  57. return suma;
  58. }
  59.  
  60.  
  61. void FindFastestWay(double **tab, int x, int y){
  62.  
  63. int cnumber = 1;
  64. int a=x-1; double b=0;
  65. double suma=tab[0][x-1],t;
  66. cout<<endl;
  67.  
  68. for(int i=0; i<y; i++){
  69.  
  70. if(a>0 && b<(y)/2.0 -1){
  71. cout<<"Wykonuje przejscie po skosie do gory z punktu "<<tab[i][a]<<" do "<<tab[i+1][a-1] <<"a= "<<a<<", b= "<<b<<endl;
  72. suma+=tab[i+1][a-1]+0.01;
  73. a-=1;
  74. b+=1;
  75. t=b;
  76.  
  77.  
  78. //if(CheckWay1(tab, a+1,b-1,x,y)<CheckWay2(tab, a+1,b-1,x,y));
  79.  
  80.  
  81. }else{
  82.  
  83. for(int i=b+1; i<=y-1-b; i++){
  84.  
  85. suma+=tab[i][a];
  86. cout<<"Wykonuje przejscie w prawo "<<tab[i-1][a]<<" do "<<tab[i][a] <<"a= "<<a<<", b= "<<i<<endl;
  87. t=i;
  88. }
  89.  
  90. for(int i=t; i<=y-2 ;i++)
  91. {
  92. cout<<"Wykonuje przejscie skosem do³ "<<tab[i][a]<<" do "<<tab[i+1][a+1] <<"a= "<<a<<", b= "<<b<<endl;
  93. suma+=tab[i+1][a+1]+0.01;
  94. a+=1;
  95. b+=1;
  96.  
  97. }
  98.  
  99. suma = suma-tab[y-1][x-1];
  100. cout<<"Case "<<cnumber<<": "<<suma<<endl;
  101. break;
  102.  
  103. }
  104. }
  105. }
Add Comment
Please, Sign In to add comment