Jump to content
Akcija „Aukok Milijoną“ ×
Atsisakome SMS atsiskaitymų ×
Nusikalstamos veiklos išvalymas, ×

C++ 2019 IT egzamino užduotis

Deividas Meškinis

Rekomenduojamas pranešimas

Sveiki,

Ištikrųjų neturėjau ką veikti ir nusprendžiau pasidalinti tai viena iš šių metų 2019 IT egzaminų programavimų užduočių (Aliejus). Gal bus tam, kam tai tik išeis į naudą. Taip pat ieškojau kur galėčiau įkelti kodą, kad atrodytų daug gražiau, visgi neradau galimybės. Jeigu atsiras bent kiek susidomėjimo atliksiu ir šių metų antrą užduotį. Jei yra kokių klausimų ar turit kokių užduočių man pasiūlyt galit komentuoti :D 

Šios užduoties sąlyga : 

Ūkininkas išspaustą aliejų išpilsto į turimus vieno litro, trijų litrų ir penkių litrų indus. Pirmiausia aliejus pilamas į penkių litrų indus. Po to, jeigu reikia, – į trijų litrų indus, galiausiai, jeigu reikia, – į vieno litro indus. Nepilnai užpildyto indo neturi būti. Indų aliejui pilstyti gali būti pakankamai, per daug arba per mažai.

https://www.nec.lt/failai/8018_IT-VBE-1_2019.pdf (galite rasti čia tekstinių dokumentų pavyzdžius kam įdomu)

Spoiler

		#include <iostream>
		#include <fstream>				
			using namespace std;				
			const int l1Talpa = 1;
		const int l3Talpa = 3;
		const int l5Talpa = 5;
		//---
		void skaityti_Faila(int& l1, int& l3, int& l5, int& aKiek, int& aIslaidos, int& s1, int& s3, int& s5);
		void kiek_Panaudota_Indu(int& l1, int& l3, int& l5, int& aKiek, int& lKiek1, int& lKiek3, int& lKiek5);
		void kiek_Reikia_Papildomu_Indu(int aKiek, int& lPapildomu1, int& lPapildomu3, int& lPapildomu5);
		int islaidos(int lKiek1, int lKiek3, int lKiek5, int lPapildomu1, int lPapildomu3, int lPapildomu5, int aIslaidos, int s1, int s3, int s5);
		void spausdinti_Faila(int lKiek1, int lKiek3, int lKiek5, int aKiek, int l1, int l3, int l5, int lPapildomu1, int lPapildomu3, int lPapildomu5, int uzdirbo);
		//---
		int main()
		{
		    int l1, l3, l5;
		    int aKiek;
		    int aIslaidos;
		    int s1, s3, s5;
		    int lKiek1 = 0, lKiek3 = 0, lKiek5 = 0;
		    int lPapildomu1 = 0, lPapildomu3 = 0, lPapildomu5 = 0;
		    int uzdirbo;
		    skaityti_Faila(l1, l3, l5, aKiek, aIslaidos, s1, s3, s5);
		    kiek_Panaudota_Indu(l1, l3, l5, aKiek, lKiek1, lKiek3, lKiek5);
		    kiek_Reikia_Papildomu_Indu(aKiek, lPapildomu1, lPapildomu3, lPapildomu5);
		    uzdirbo = islaidos(lKiek1, lKiek3, lKiek5, lPapildomu1, lPapildomu3, lPapildomu5, aIslaidos, s1, s3, s5);
		    spausdinti_Faila(lKiek1, lKiek3, lKiek5, aKiek, l1, l3, l5, lPapildomu1, lPapildomu3, lPapildomu5, uzdirbo);
		    return 0;
		}
		//---
		void skaityti_Faila(int& l1, int& l3, int& l5, int& aKiek, int& aIslaidos, int& s1, int& s3, int& s5)
		{
		    ifstream in("U1.txt");
		    in >> l1 >> l3 >> l5;
		    in >> aKiek;
		    in >> aIslaidos;
		    in >> s1 >> s3 >> s5;
		    in.close();
		}
		//---
		void kiek_Panaudota_Indu(int& l1, int& l3, int& l5, int& aKiek, int& lKiek1, int& lKiek3, int& lKiek5)
		{
		    while(aKiek - l5Talpa >= 0 && l5 > 0)
		    {
		        lKiek5++;
		        aKiek -= l5Talpa;
		        l5--;
		    }
		    while(aKiek - l3Talpa >= 0 && l3 > 0)
		    {
		        lKiek3++;
		        aKiek -= l3Talpa;
		        l3--;
		    }
		    while(aKiek - l1Talpa >= 0 && l1 > 0)
		    {
		        lKiek1++;
		        aKiek -= l1Talpa;
		        l1--;
		    }
		}
		//---
		void kiek_Reikia_Papildomu_Indu(int aKiek, int& lPapildomu1, int& lPapildomu3, int& lPapildomu5)
		{
		    while(aKiek - l5Talpa >= 0)
		    {
		        lPapildomu5++;
		        aKiek -= l5Talpa;
		    }
		    while(aKiek - l3Talpa >= 0)
		    {
		        lPapildomu3++;
		        aKiek -= l3Talpa;
		    }
		    while(aKiek - l1Talpa >= 0)
		    {
		        lPapildomu1++;
		        aKiek -= l1Talpa;
		    }
		}
		//
		int islaidos(int lKiek1, int lKiek3, int lKiek5, int lPapildomu1, int lPapildomu3, int lPapildomu5, int aIslaidos, int s1, int s3, int s5)
		{
		    int lSum1 = 0, lSum3 = 0, lSum5 = 0;
		    int pelnas;
		    lSum1 += (lKiek1 + lPapildomu1) * s1;
		    lSum3 += (lKiek3 + lPapildomu3) * s3;
		    lSum5 += (lKiek5 + lPapildomu5) * s5;
		    pelnas = (lSum1 + lSum3 + lSum5) - aIslaidos;
		    return pelnas;
		}				
			void spausdinti_Faila(int lKiek1, int lKiek3, int lKiek5, int aKiek, int l1, int l3, int l5, int lPapildomu1, int lPapildomu3, int lPapildomu5, int uzdirbo)
		{
		    ofstream out("U1rez.txt");
		    out << lKiek1 << " " << lKiek3 << " " << lKiek5 << " ";
		    out << aKiek << endl;
		    out << l1 << " " << l3 << " " << l5 << endl;
		    out << lPapildomu1 << " " << lPapildomu3 << " " << lPapildomu5 << endl;
		    out << uzdirbo << endl;
		}
		//---


 

Dalintis šuo pranešimu


Nuoroda į pranešimą
Pasidalinti kituose saituose
Svečias
Ši tema yra užrakinta.

GreenSide.lt Powered by Invision Community

2024 © greenside.lt

×
×
  • Sukurti...

Svarbi informacija

Lankydamiesi mūsų puslapyje, Jūs sutinkate su mūsų Naudojimosi sąlygos.