Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. 9 18 22 11 5 20 10 21 24 3 13 23 17 14 12 8 4 6 7 15 1 19 2 16
  2.  
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  4.  
  5. 9 10 44 30 48 42 29 22 12 47 35 15 33 26 25 36 19 14 37 43 31 16 13 28 3 21 6 32 39 5 34 41 38 46 17 2 18 40 7 45 27 23 20 4 11 1 24 8
  6.  
  7. 37 19 45 17 20 21 41 25 29 12 8 7 23 24 15 43 6 48 27 10 32 46 16 26 28 31 36 2 4 42 13 47 30 9 22 33 1 35 14 44 39 40 5 3 38 11 34 18
  8.  
  9.  
  10. cmax1: 14239
  11. cmax2: 33465
  12. cmax3: 40042
  13. cmax4: 39616
  14.  
  15.  
  16.  
  17. //program
  18. #include <fstream>
  19. #include <iostream>
  20. #include <cstdlib>
  21.  
  22. using namespace std;
  23.  
  24. typedef struct
  25. {
  26. int r;
  27. int p;
  28. int q;
  29. int k;
  30. }linia;
  31.  
  32. int czyData(string linia)
  33. {
  34. string wzor = "data.";
  35.  
  36. int i;
  37. for(i=0;i<5;i++)
  38. {
  39. if(wzor[i] != linia[i])
  40. return -1;
  41. i++;
  42. }
  43. return (int)linia[5]-'0';
  44. }
  45.  
  46. int main()
  47. {
  48. ifstream dane;
  49. dane.open("rpq_data.txt");
  50. string cos;
  51. linia *tab[4];
  52. int ktore,liczba;
  53.  
  54. while(dane.good())
  55. {
  56. dane>>cos;
  57. //cout<<cos<<" ";
  58. ktore = czyData(cos);
  59.  
  60. if(ktore != -1)
  61. {
  62. dane >> liczba;
  63. //cout<<liczba;
  64. tab[ktore-1] = new linia[liczba];
  65.  
  66. for(int i=0;i<liczba;i++)
  67. {
  68. dane>>tab[ktore-1][i].r;
  69. dane>>tab[ktore-1][i].p;
  70. dane>>tab[ktore-1][i].q;
  71. tab[ktore-1][i].k=i+1;
  72. }
  73. }
  74. }
  75. cout<<endl;
  76.  
  77. //wyswietl
  78. /*
  79. for(int i=0;i<24;i++)
  80. {
  81. cout<<tab[0][i].r<<" "<<tab[0][i].p<<" "<<tab[0][i].q<<" "<<tab[0][i].k<<endl;
  82. }
  83. cout<<endl;
  84. */
  85.  
  86. //posortuj
  87.  
  88. for(int j = 0; j<23; j++)
  89. for(int i = 0; i<23; i++)
  90. if(tab[0][i].r > tab[0][i+1].r)
  91. swap(tab[0][i],tab[0][i+1]);
  92.  
  93.  
  94. for(int j = 0; j<23; j++)
  95. for(int i = 0; i<23; i++)
  96. if(tab[1][i].r > tab[1][i+1].r)
  97. swap(tab[1][i],tab[1][i+1]);
  98.  
  99.  
  100. for(int j = 0; j<47; j++)
  101. for(int i = 0; i<47; i++)
  102. if(tab[2][i].r > tab[2][i+1].r)
  103. swap(tab[2][i],tab[2][i+1]);
  104.  
  105.  
  106. for(int j = 0; j<47; j++)
  107. for(int i = 0; i<47; i++)
  108. if(tab[3][i].r > tab[3][i+1].r)
  109. swap(tab[3][i],tab[3][i+1]);
  110.  
  111. //wyswietl kolejnosci
  112.  
  113. for(int i=0;i<24;i++)
  114. cout<<tab[0][i].k<<" ";
  115. cout<<endl<<endl;
  116.  
  117. for(int i=0;i<24;i++)
  118. cout<<tab[1][i].k<<" ";
  119. cout<<endl<<endl;
  120.  
  121. for(int i=0;i<48;i++)
  122. cout<<tab[2][i].k<<" ";
  123. cout<<endl<<endl;
  124.  
  125. for(int i=0;i<48;i++)
  126. cout<<tab[3][i].k<<" ";
  127. cout<<endl<<endl;
  128.  
  129. //oblicz i wyswietl cmax
  130.  
  131. cout<<endl;
  132. int suma = 0;
  133. int cmax = 0;
  134. for (int i = 0; i < 24; i++)
  135. {
  136. suma=max(suma,tab[0][i].r)+tab[0][i].p;
  137. cmax = max(cmax,suma+tab[0][i].q);
  138. }
  139. cout<<"cmax1: "<<cmax<<endl;
  140.  
  141.  
  142. suma = 0;
  143. cmax = 0;
  144. for (int i = 0; i < 24; i++)
  145. {
  146. suma=max(suma,tab[1][i].r)+tab[1][i].p;
  147. cmax = max(cmax,suma+tab[1][i].q);
  148. }
  149. cout<<"cmax2: "<<cmax<<endl;
  150.  
  151. suma = 0;
  152. cmax = 0;
  153. for (int i = 0; i < 48; i++)
  154. {
  155. suma=max(suma,tab[2][i].r)+tab[2][i].p;
  156. cmax = max(cmax,suma+tab[2][i].q);
  157. }
  158. cout<<"cmax3: "<<cmax<<endl;
  159.  
  160. suma = 0;
  161. cmax = 0;
  162. for (int i = 0; i < 48; i++)
  163. {
  164. suma=max(suma,tab[3][i].r)+tab[3][i].p;
  165. cmax = max(cmax,suma+tab[3][i].q);
  166. }
  167. cout<<"cmax4: "<<cmax<<endl;
  168.  
  169. dane.close();
  170. return 0;
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement