Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <fstream>
  4. #include <cmath>
  5. #include <iomanip>
  6. #include <string>
  7. #include <bits/stdc++.h>
  8.  
  9. using namespace std;
  10.  
  11. void skaityti();
  12. void rasyti();
  13. bool argalima(int x);
  14. int n,BV[100],BK[100],TK[100],IS[100],IS2[100],IS3[100],BK2[100],suma;
  15. string NR[100];
  16.  
  17.  
  18. int main()
  19. {
  20. skaityti();
  21. rasyti();
  22. return 0;
  23. }
  24.  
  25. void skaityti()
  26. {
  27. fstream in("U3.txt");
  28. for(int i = 0; i < 6; i++)
  29. {
  30. in >> BV[i];
  31. }
  32. for(int i = 0; i < 6; i++)
  33. {
  34. in >> BK[i];
  35. BK2[i]=BK[i];
  36. }
  37. in >> n;
  38. for(int i = 0; i < n; i++)
  39. {
  40. in >> NR[i] >> TK[i] >> IS[i];
  41. IS2[i]=IS[i];
  42. IS3[i]=IS[i];
  43. }
  44. }
  45.  
  46. void rasyti()
  47. {
  48. ofstream out("U3rez.txt");
  49. for(int i = 0; i < n; i++)
  50. {
  51. if(argalima(i)==true)
  52. {
  53. out << NR[i] << " " << TK[i];
  54. for(int j = 0; j < 6; j++)
  55. {
  56.  
  57. if(IS2[i]>=BV[j]&&BK2[j]>=IS2[i]/BV[j])
  58. {
  59. out << "-" << BV[j] << "*" << IS2[i]/BV[j];
  60. BK2[j]-=IS2[i]/BV[j];
  61. IS2[i]-=BV[j]*(IS2[i]/BV[j]);
  62. }
  63. }
  64. out << "=" << TK[i]-IS3[i] << endl;
  65. }
  66. else
  67. {
  68. out << NR[i] << " " << TK[i] << " " << IS3[i] << " Negalima" << endl;
  69. }
  70. }
  71.  
  72. for(int i = 0; i < 6; i++)
  73. {
  74. suma+=BV[i]*BK2[i];
  75. }
  76.  
  77.  
  78. for(int i = 0; i < 5; i++)
  79. {
  80. out << BV[i] << "*" << BK2[i] << "+";
  81. }
  82. out << BV[5] << "*" << BK[5] << "=" << suma << endl;
  83.  
  84.  
  85. }
  86.  
  87. bool argalima(int x)
  88. {
  89. bool a;
  90. a = true;
  91. if(TK[x]<IS[x]==0)
  92. {
  93. while(IS[x]>0)
  94. {
  95. for(int j = 0; j < 6; j++)
  96. {
  97.  
  98. if(IS[x]>=BV[j]&&BK[j]>=IS[x]/BV[j])
  99. {
  100. BK[j]-=IS[x]/BV[j];
  101. IS[x]-=BV[j]*(IS[x]/BV[j]);
  102. }
  103.  
  104.  
  105. if(j==5&&IS[x]>0)
  106. {
  107. IS[x]=0;
  108. a = false;
  109. }
  110. }
  111. }
  112. }
  113. else
  114. {
  115. a = false;
  116. }
  117.  
  118. return a;
  119.  
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement