Vidmma

Need C++ Help.

Rekomenduojami pranešimai

Sveiki, kadangi man rytoj atsiskaitymas informatikos(C++), buvo daug nd, visus padariau išskyrus šią užduotį:

 

 

Osvaldas nori savaitę slidinėti viename iš trijų kurortų.

 

 

Kurorte A slidinėjimo sezonas prasideda lapkričio, o baigiasi balandžio mėnesį, bet dėl lavinų pavojaus visą sausio mėnesį slidinėti negalima. Kurorte B slidinėti galima nuo gruodžio pradžios iki kovos pabaigos, tačiau vasario 1 – 15 dienomis čia vyksta varžybos. Kurorte C slidininkai laukiami nuo lapkričio pradžios iki gegužės pabaigos. Poilsio kaina kiekviename kurorte, įtraukus ir kelionės išlaidas, atitinkamai yra k1, k2, k3 litų. Žinodami atostogų pradžios datą (mėnesį m ir dieną d), nustatykite, ar Osvaldas 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, turi būti spausdinama: Osvaldas galės slidinėti kurorte C. Jam reikės 499 lt.

 

 

reiktų kuo greičiau, būčiau dėkingas laaabai.

 

 

 

 

Dievaži, kad taip pakibsiu nesitikėjau.

 

 

(reiktų bent jau algoritmo).

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

ZInau kad per velu, bet suveliau per 30min algoritma siaip is neturejimo ka veikti. Zinoma jis neitraukia to kad menuo gali tureti 30 ar ten 28 dienas. viska ima po 31, taui pat netikrina nieko, tiesiog pacios uzdoties idejos realizacija nors ir labai durna :D

 

struct laikai
{
    std::string m_pavadinimas;
    int m_pradzia, m_pabaiga, m_draudimo_pradzia, m_draudimo_pabaiga;
};

bool ArNeuzdaryta(int prad, int pab, int rib_prad, int rib_pab)
{
    if (prad >= rib_prad && pab <= rib_pab)
    {
        return false;
    }

    return true;
}

bool ArTinka(int m, int d, laikai &ribos)
{
    // patirkinam ar menesiai isveza intervalus
    if (m >= ribos.m_pradzia || m <= ribos.m_pabaiga)
    {
        // patikrinam ar norima diena ir +7(nes savaite otdihas) isves intervala
        if (d+7 > 31)   // tipo naujas menuo gaunas
        {
            if (m + 1 > ribos.m_pabaiga)
            {
                return false;
            }
            return ArNeuzdaryta(m*100+d, (m+1)*100+(d-(31-d)),
                                ribos.m_draudimo_pradzia, ribos.m_draudimo_pabaiga);
        }
        // jei menesiai vistiek isveze, patikrinu ar i draudimo zonas neieina

        int tmp = m * 100 + d;
        return ArNeuzdaryta(tmp, tmp, ribos.m_draudimo_pradzia, ribos.m_draudimo_pabaiga);
    }
    else
    {
        return false;
    }

    return true;
}

int main ( int argc, char* argv[] )
{

#if 1
int m = 2,
    d = 5,
    k1 = 500,
    k2 = 520,
    k3 = 499;

    laikai kurortas_a = {"Kurortas A ", 11, 5, 101, 131 };
    laikai kurortas_b = {"Kurortas B ", 12, 4, 201, 215 };
    laikai kurortas_c = {"Kurortas C ", 11, 6, 0, 0 };


    // pargrazins 1 jeigu kurortas tinkantis 
    std::cout<<kurortas_a.m_pavadinimas<<ArTinka(m, d, kurortas_a)<<"\n";
    std::cout<<kurortas_b.m_pavadinimas<<ArTinka(m, d, kurortas_<<"\n";
    std::cout<<kurortas_c.m_pavadinimas<<ArTinka(m, d, kurortas_c)<<"\n";

#endif

return 0;
}

PS: Jei aisku nesi mokytojai ar panasiai, manau dar turi gerokai prie jos padirbeti, cia siaip makle pakle uzvedimui ant teisingo kelio.

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

cia rekomendavo man kaip c++ biblija. tai dabar is kazkur susiveikt reikia :thumbsup4: tipo ant ipad e-book yra, tai gal ir ant ipod touch bus...?

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

cia rekomendavo man kaip c++ biblija. tai dabar is kazkur susiveikt reikia :thumbsup4: tipo ant ipad e-book yra, tai gal ir ant ipod touch bus...?

 

Ne į temą

Šiaip aš ką tik šitą knygą susiradau pdf formatu, nors nelabai gražu piratauti :)

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ne į temą

Šiaip aš ką tik šitą knygą susiradau pdf formatu, nors nelabai gražu piratauti :D

 

galetum gal i pm link'a numest? :D

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu pradedanciajam, tai mano nuomone sita knyga netinka, nes sitoj knygoj iskarto sokama prie operatoriu overloadinimo, pavdeldejimu, STL bibliotekos, templeitu. Si knyga skirta daugau taip sakykim pazengusiam, kuris nori pagilinti zinias.

Pradedanciajam siulyciau 1 labai gera ir idomiai skaitoma C++ knyga:

Accelerated C++ by Andrew Koenig and Barbara E. Moo

 

Sitoj knygoj parodomas kodo gabaliukas ir viskas paaiskinama, parodo kas kistu pakeitus ta ir ana. Viena is paciu geriausiu padedanciajam ir netik, knygu.

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Chebra šiais metais tik (11 klasė) pasiemiau programavimą, tai dabar per savaitę yra viena bendra informatikos pamoka, su wordu ir panašiai dirbam, o per programavimo pamoką su CodeBlocks C++ prašo kurt... pirmą pamoką dar nieko nesimokėm beveik, o antrą jau reikėjo padaryt programą kuri diskriminantą skaičiuotų, poto su algoritmais, ciklais kažką bandėm daryt bet aš pirmus metus tik mokaus programavimą tai aš visiškai nieko nemoku galima sakyt :D Gal yra kokių gidų, pamokų, kad kažką pasimokyt, ką patartumėt?

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Chebra šiais metais tik (11 klasė) pasiemiau programavimą, tai dabar per savaitę yra viena bendra informatikos pamoka, su wordu ir panašiai dirbam, o per programavimo pamoką su CodeBlocks C++ prašo kurt... pirmą pamoką dar nieko nesimokėm beveik, o antrą jau reikėjo padaryt programą kuri diskriminantą skaičiuotų, poto su algoritmais, ciklais kažką bandėm daryt bet aš pirmus metus tik mokaus programavimą tai aš visiškai nieko nemoku galima sakyt :) Gal yra kokių gidų, pamokų, kad kažką pasimokyt, ką patartumėt?

 

Patariu šį puslapį http://www.cplusplus.com/doc/tutorial/ Jei pats ko nesuprantu čia visada viską randu. :)

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip teisingai Hancock rekomendavo. Nu as nuo saves galeciau va sita dar knyga pasiulyti :) Begineriui taip pat puikus pasirikimas :

 

 

Spaudziam ant linko :

 

Knyga

Redagavo Deadalus

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Patariu šį puslapį http://www.cplusplus.com/doc/tutorial/ Jei pats ko nesuprantu čia visada viską randu. :)

 

Jo šitas gerulis, po biški aiškėja man šitas briedas man, nes iki tol tai 0 mokėjau ir randomus rašiau, o dabar jau kažką biški pagrindus bent mokausi, :D

bet noriu truputi paklaust:

int a = 5;          // pradinė reikšmė = 5
    int b (2);          // pradinė reikšmė = 2
    int result;         // pradinė reikšmė nenustatyta

    a = a + 3;
    result = a - b;
Spausdina 6, viską suprantu kodėl, bet noriu pilnai pasitikslint kaip veiksta veiksmai čia. tai pvz: a= a + 3 ir result = a - b eilutėse, veiksmai nuoseklūs yra lyg matematikoj sprestum ir juos daro iš eilės? tai pirmas veiksmas a= a + 3, jį išsprendžia, gauna 5+3=8, tada sprendžia result ir "a" laiko "a= a+3" sprendiniu (8), todėl result = 8 - 2 = 6, taip? Redagavo Dwėsk

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jo, nes kintamasis ne konstanta ir prieš tai esančia eilute, pakeitei jo reikšmę, šiuo atveju padidinai trimis. :D

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

a = a + 3;
Kas is tikro cia ivyksta. Kompiliatorius is esmes susikuria laikina kintajaji, a analoga, kad ir tmp_a, tada prie jo prideda 3 ir galiausiai rezultata priskira a.

Tarpkitko visa sita israiska galima uzrasyti ir

a += 3;

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie pokalbio

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Įdėti kaip grynąjį tekstą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.