Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- struct Kiekiai {
- int kiek1, kiek3, kiek5;
- int kiekA;
- };
- struct Kainos {
- int islaidos;
- int kaina1, kaina3, kaina5;
- };
- struct Duomenys {
- Kiekiai k;
- Kainos a;
- };
- Duomenys gautiDuomenis(string vardas){
- Duomenys d;
- ifstream in(vardas);
- in >> d.k.kiek1 >> d.k.kiek3 >> d.k.kiek5;
- in >> d.k.kiekA >> d.a.islaidos;
- in >> d.a.kaina1 >> d.a.kaina3 >> d.a.kaina5;
- in.close();
- return d;
- }
- void spausdintiKiekius(Kiekiai duom, ofstream &out){
- out << duom.kiek1 << " " << duom.kiek3 << " " << duom.kiek5;
- }
- Kiekiai gautiKiekius(Kiekiai &duom){
- Kiekiai rez = { 0, 0, 0, 0, };
- rez.kiekA = duom.kiekA;
- while(1){
- if(duom.kiek5 > 0 && rez.kiekA >= 5){
- rez.kiekA = rez.kiekA - 5;
- duom.kiek5--;
- rez.kiek5++;
- } else
- break;
- }
- while(1){
- if(duom.kiek3 > 0 && rez.kiekA >= 3){
- rez.kiekA = rez.kiekA - 3;
- duom.kiek3--;
- rez.kiek3++;
- } else
- break;
- }
- while(1){
- if(duom.kiek1 > 0 && rez.kiekA >= 1){
- rez.kiekA = rez.kiekA - 1;
- duom.kiek1--;
- rez.kiek1++;
- } else
- break;
- }
- return rez;
- }
- int gautiPelna(Kiekiai k1, Kiekiai k2, Kainos a){
- int pelnas = -a.islaidos;
- pelnas += (k1.kiek1+k2.kiek1) * a.kaina1;
- pelnas += (k1.kiek3+k2.kiek3) * a.kaina3;
- pelnas += (k1.kiek5+k2.kiek5) * a.kaina5;
- return pelnas;
- }
- int main(int argc, char *argv[]){
- string inVardas = "U1.txt";
- string outVardas = "U1rez.txt";
- if(argc > 1){
- inVardas = argv[1];
- }
- if(argc > 2){
- outVardas = argv[2];
- }
- /*
- cout << argc << endl;
- for(int i = 0; i < argc; ++i)
- cout << argv[i] << endl;
- cout << endl << endl;
- */
- ofstream out(outVardas);
- Duomenys d = gautiDuomenis(inVardas);
- Kiekiai k1 = gautiKiekius(d.k);
- spausdintiKiekius(k1, out);
- out << " " << k1.kiekA << endl;
- spausdintiKiekius(d.k, out);
- out << endl;
- Kiekiai k2;
- k2.kiek1 = k1.kiekA;
- k2.kiek3 = k1.kiekA;
- k2.kiek5 = k1.kiekA;
- k2.kiekA = k1.kiekA;
- Kiekiai k3 = gautiKiekius(k2);
- spausdintiKiekius(k3, out);
- out << endl;
- int p = gautiPelna(k1, k3, d.a);
- out << p << endl;
- out.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement