SHARE
TWEET

Untitled

a guest May 22nd, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top