Peršokti į turinį

Pagalbos su C++


NaxHQ`

Recommended Posts

Sveiki, iškilo bėdu su C++ programa. Sąlyga:

Autobusas iš Vilniaus išvyko, kai laikrodis rodė vi valandą mi minučių. Iki Panevėžio autobusas važiavo vp valandų ir mpminučių. Panevėžyje autobusas stovėjo ms minučių. Iš Panevėžio į Rygą autobusas važiavo vr valandų ir mr minučių. Parašykite programą, skaičiuojančią, kuriuo laiku (valandomis v ir minutėmis m) autobusas atvyks į Rygą. Autobusas gali išvykti vakare, o į Rygą atvykti kitą parą. Pradiniai duomenys ir rezultatai yra sveikojo tipo.

Duomenys Rezultatai

Kada autobusas išvyko iš Vilniaus? 22 30

Kiek laiko autobusas važiavo iš Vilniaus į Panevėžį? 2 5

Kelias minutes autobusas stovėjo Panevėžyje? 10

Kiek laiko autobusas važiavo iš Panevėžio į Rygą? 2 15

Autobusas į Rygą atvyks: 3 val. 0 min.

Kada autobusas išvyko iš Vilniaus? 14 30

Kiek laiko autobusas važiavo iš Vilniaus į Panevėžį? 2 5

Kelias minutes autobusas stovėjo Panevėžyje? 10

Kiek laiko autobusas važiavo iš Panevėžio į Rygą? 2 15

Autobusas į Rygą atvyks: 19 val. 0 min.

 

Aš parašiau programą, bet nežinau, kaip padaryti, kad kai laikas pasiekia 24h, rodytų 0 , o jei daugiau nei 24 (PVZ 27), rodytų kad 3 valanda. Tas pats ir su minučių pavertimu valanda.

Padėjusiam atsyliginsiu forumo eurais. Reikia kuo skubiau

#include <iostream>
using namespace std;
 
int main() 
{
   int vi, mi, vp, mp, ms, vr, mr;
      double v, m;
      cin >> vi >> mi;
   cout << "Kada autobusas išvyko iš Vilniaus? "<< vi << " " << mi<< endl;
   cin >> vp >> mp;
   cout << "Kiek laiko autobusas važiavo iš Vilniaus į Panevėžį? "<< vp << " " << mp << endl;
   cin >> ms;
   cout << "Kelias minutes autobusas stovėjo Panevėžyje? "<< ms << endl;
   cin >> vr >> mr;
   cout << "Kiek laiko autobusas važiavo iš Panevėžio į Rygą? " << vr << " " << mr << endl;
   v =(vi + vp + vr);
   m =(mi + mp + ms + mr);
   cout << " Autobusas į Rygą atvyks: " << v << " val. "<< m << " min." << endl;
   
 
   return 0;
}
Kada autobusas išvyko iš Vilniaus? 22 30
Kiek laiko autobusas važiavo iš Vilniaus į Panevėžį? 2 5
Kelias minutes autobusas stovėjo Panevėžyje? 10
Kiek laiko autobusas važiavo iš Panevėžio į Rygą? 2 15
Autobusas į Rygą atvyks: 26 val. 60 min.

 

Nuoroda į komentarą
Dalintis per kitą puslapį

Jei valanda yra lygi arba didesnė už 24, atimi 24.

Jo teisingai sakai, bet matau aš čia tokį dalyką kurio neturi būti 26.60h :D Tai siūlyčiau tą 60min irgi 1h paversti ir gausis viskas gerai. :)

Gal ir žinai, bet man tokia pati klaida buvo. ;d

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Jo teisingai sakai, bet matau aš čia tokį dalyką kurio neturi būti 26.60h :D Tai siūlyčiau tą 60min irgi 1h paversti ir gausis viskas gerai. :)

Gal ir žinai, bet man tokia pati klaida buvo. ;d

Tai aš specialiai parodau kaip gaunasi. Bėda, kad nemoku parašyt šios eilutės, padėkit :/ Redaguota , nario NaxHQ`
Nuoroda į komentarą
Dalintis per kitą puslapį

Sprendimas:
Viską paverčiau minutėmis, gale išgavau valandas. Pačiam gale patikrinau ar nėra minučių, ir jeigu lieka, jas išveda

#include <iostream>
using namespace std;

int main()
{
    int vi=22, // valandos išvykimo - iš vilniaus
        mi=30, // minutės išvykimo - iš vilniaus
        vp=2,  // valandos važevimo - iki panevežio
        mp=5,  // minutės važevimo - iki panevežio
        ms=10, // stovejo panevėžyje
        vr=2,  // valandos važevimo- į rygą
        mr=15, // minutės važevimo- į rygą
        v,
        m=0,
        temp,
        hour,
        minutes;
    minutes = ((vi*60)+mi)+((vp*60)+mp)+ms+((vr*60)+mr);
    hour = minutes/60;
    temp = hour;
    if(hour>=24)
    {
        hour-=24;
        v = hour;
    }
    if(minutes!=(hour*60))
    {
        m = minutes - (temp*60);
    }
    cout << "Valandos: " << v << " Minutes: " << m << endl;
    return 0;
}

Redaguota , nario GReddy
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Sprendimas:

Viską paverčiau minutėmis, gale išgavau valandas. Pačiam gale patikrinau ar nėra minučių, ir jeigu lieka, jas išveda

#include <iostream>
using namespace std;

int main()
{
    int vi=22, // valandos išvykimo - iš vilniaus
        mi=30, // minutės išvykimo - iš vilniaus
        vp=2,  // valandos važevimo - iki panevežio
        mp=5,  // minutės važevimo - iki panevežio
        ms=10, // stovejo panevėžyje
        vr=2,  // valandos važevimo- į rygą
        mr=15, // minutės važevimo- į rygą
        v,
        m=0,
        temp,
        hour,
        minutes;
    minutes = ((vi*60)+mi)+((vp*60)+mp)+ms+((vr*60)+mr);
    hour = minutes/60;
    temp = hour;
    if(hour>=24)
    {
        hour-=24;
        v = hour;
    }
    if(minutes!=(hour*60))
    {
        m = minutes - (temp*60);
    }
    cout << "Valandos: " << v << " Minutes: " << m << endl;
    return 0;
}

Ačiū, o gal žinai, kaip daryt šią uždotį?

 

Saldainių maišelis kainuoja a eurų. Kiekviename maišelyje yra kuponas. Už tris kuponus galima gauti nemokamai vieną tokį saldainių maišelį. Saldainius už kuponus galima pirkti 3 kartus. Kiek daugiausia galima gauti saldainių maišelių už b eurų? Pradiniai duomenys yra sveikojo tipo.
 
Duomenys Rezultatai
Įveskite saldainių maišelio kainą: 1
 
Įveskite pinigų sumą skirtą saldainiams pirkti: 15
22
Įveskite saldainių maišelio kainą: 1
 
Įveskite pinigų sumą skirtą saldainiams pirkti: 17
24
Įveskite saldainių maišelio kainą: 2
 
Įveskite pinigų sumą skirtą saldainiams pirkti: 26
18
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Ačiū, o gal žinai, kaip daryt šią uždotį?

 

Saldainių maišelis kainuoja a eurų. Kiekviename maišelyje yra kuponas. Už tris kuponus galima gauti nemokamai vieną tokį saldainių maišelį. Saldainius už kuponus galima pirkti 3 kartus. Kiek daugiausia galima gauti saldainių maišelių už b eurų? Pradiniai duomenys yra sveikojo tipo.
 
Duomenys Rezultatai
Įveskite saldainių maišelio kainą: 1
 
Įveskite pinigų sumą skirtą saldainiams pirkti: 15
22
Įveskite saldainių maišelio kainą: 1
 
Įveskite pinigų sumą skirtą saldainiams pirkti: 17
24
Įveskite saldainių maišelio kainą: 2
 
Įveskite pinigų sumą skirtą saldainiams pirkti: 26
18

 

 

Ne pats optimaliausias sprendimas, bet veikia.

http://pastebin.com/FkAsvAx3

Nuoroda į komentarą
Dalintis per kitą puslapį

Ne pats optimaliausias sprendimas, bet veikia.

http://pastebin.com/FkAsvAx3

Rodos temas sumaišiai.

Antro tavo uždavinio sprendimas, viskas veikia:

 

#include <iostream>

using namespace std;

int main()
{
    int a, b, kuponai=0, tarpinis, likekuponai, maiseliai;
    cout << "Iveskite saldainiu maiselio kaina: ", cin >> a;
    cout << "Iveskite pinigu suma skirta saldainiams pirkti: ", cin >> b;
    maiseliai = b/a;
    kuponai = maiseliai;
    tarpinis = kuponai/3;
    maiseliai += tarpinis;
    kuponai = tarpinis;
    tarpinis = kuponai/3;
    likekuponai = kuponai-(3*tarpinis);
    maiseliai += tarpinis;
    kuponai = (kuponai-(tarpinis*3))+likekuponai;
    maiseliai += kuponai/3;
    cout << "atsakymas: " << maiseliai;
    return 0;
}

  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Ne rodos tu sumaišei, pažiūrėk temos autoriaus paskutinį postą.

rly? Vienas uždavinys apie autobuso laiką, kitas uždavinys apie saldainius. Tavo sprendimas apie trikampius. Tai gal vertėtų pačiam pasitikrinti nuorodas ?

Redaguota , nario GReddy
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Rodos temas sumaišiai.

Antro tavo uždavinio sprendimas, viskas veikia:

 

#include <iostream>

using namespace std;

int main()
{
    int a, b, kuponai=0, tarpinis, likekuponai, maiseliai;
    cout << "Iveskite saldainiu maiselio kaina: ", cin >> a;
    cout << "Iveskite pinigu suma skirta saldainiams pirkti: ", cin >> b;
    maiseliai = b/a;
    kuponai = maiseliai;
    tarpinis = kuponai/3;
    maiseliai += tarpinis;
    kuponai = tarpinis;
    tarpinis = kuponai/3;
    likekuponai = kuponai-(3*tarpinis);
    maiseliai += tarpinis;
    kuponai = (kuponai-(tarpinis*3))+likekuponai;
    maiseliai += kuponai/3;
    cout << "atsakymas: " << maiseliai;
    return 0;
}

Ačiū:)

Nuoroda į komentarą
Dalintis per kitą puslapį

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

×
×
  • Sukurti naują...