top of page

 

***********************************************************************

<ATGAL>

************************************************************************

Slidinėjimo kurortai

Osvaldas nori savaitę slidinėti viename iš kurortų. Kurorte A slidinėjimo sezonas prasideda lapkričio, o baigiasi balandžio mėnesį, bet dėl lavinų pavojaus  visą sausį slidinėti  negalima. Kurorte B slidinėjama nuo gruodžio pradžios iki kovo pabaigos, tačiau vasario 1-15 dienomis ten vyksta varžybos. Kurorte C slidininkai laukiami nuo lapkričio pradžios iki gegužės pabaigos. Poilsio kaina kiekviename kurorte, įtraukus kelionės išlaidas, atitinkamai yra k1k2k3 litų. Žinodami atostogų pradžios datą (mėnesį m ir dieną d), nustatykite, ar Osvalds galės atostogauti bent viename kurorte. Jeigu taip, tai kurį kurortą jam rinktis, kad išleistų mažiausiai pinigų.

 

Pasitikrinkite, 

kai m = 2, d = 5, k1 = 500, k2 = 520, k3 = 499, turėtumėte  spausdinti:

Osvaldas galės slidinėti kurorte C. Jam reikės 449 Lt.

 

kai m = 11, d = 20, k1 = 400, k2 = 350, k3 = 420, turėtumėte spausdinti:

Osvaldas galės slidinėti kurorte A. Jam reikės 400 Lt.

 

************************************************************************

 

#include <iostream>

#include <conio.h>

using namespace std;

//==================================================================================

char kuris(int m, int d, int k1, int k2, int k3); //tinka reikšmę sugrąžina

//==================================================================================

void spausdinam(int k1, int k2, int k3, char kurortas);

//==================================================================================

 

int main() {

 

    int m, //Atostogų mienuo

        d; //Atostogų diena

 

    int k1, k2, k3; //Kurortui reikalingi pinigai

    char tinka, kurortas;      //kuris kurortas tinka

 

    cout << "Atostogų pradžios mėnuo [m]: "; cin >> m;

    cout << "Atostogų pradžios diena [d]: "; cin >> d;

 

    bool ne_slid_sezonas = (m >= 6) && (m < 10);

    // Tikrinama ar atostogos slidinejimo sezono metu

    if (ne_slid_sezonas)

        cout <<endl<< "Osvaldo atostogos ne slidinėjimo sezonu!"<< endl;

    else

        {

        cout << "A kurorto kaina [k1]: "; cin >> k1;

        cout << "B kurorto kaina [k3]: "; cin >> k2;

        cout << "C kurorto kaina [k3]: "; cin >> k3;

        kurortas = kuris(m, d, k1, k2, k3);

        //išsiaiškiname, kuriame kurorte pigiausia Osvaldo atostogų metu

        spausdinam (k1, k2, k3, kurortas);

        }

 

    return 0;

}

//surandame, kuriame gali atostogauti už mažiausią kainą

//====================================================================================

char kuris(int m, int d, int k1, int k2, int k3) //tinka reikšmę sugrąžina

{

    char tinka = 'C';  //kurortas C tinka visada

    bool A = 1; // Kurortas A

    bool B = 1; // Kurortas B

    bool C = 1; // Kurortas C

    if (m == 1 or m == 5) { A = 0; }

    // Jeigu mėnuo sausis ar geguze, kurortas A atkrenta...

    if ((m == 11 or m >= 4) or (m == 2 and d <= 15)) { B = 0; }

    // Jeigu mėnuo 11, 4, 5, arba 2 ir diena <= 15, kurortas B atkrenta...

    cout << "A= "<< A <<" B= "<< B <<" C= "<< C << endl;

    //pasitikriname, 1 - galima slidinėti, 0 - negalima

    //kur pigiausia aiškinamės

    if (k1 <= k2){

        if (k1 < k3) if (A) tinka = 'A';

                     else if (k2 < k3 and B) tinka ='B';

    }

    else {

        if (k2 < k3 and B) tinka = 'B';

        else if (k1 < k3 and A ) tinka = 'A';

    }

    return tinka;

}

//====================================================================================

void spausdinam(int k1, int k2, int k3, char kurortas)

{

cout << "**************************************************************"<<endl;

cout << "Osvaldas galės slidinėti kurorte " << kurortas << " Jam reikės -->";

if (kurortas == 'C'){

    cout << k3 << "Lt.";

   }

    else if (kurortas =='B'){

        cout << k2 << "Lt.";

    }

        else {

             cout << k1 << "Lt.";

             }

}

<ĄTGAL>

 

 

 

 

bottom of page