Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3845 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

(redaguota)

Sveiki, sprendžiau uždavinį, bet įsivėlė klaida, kuri rodo neteisingą ir nepilną atsakymą. Pateikiu uždavinio sąlygą ir savo sprendimą.

 

Petraičių šeima persikėlė gyventi į sodybą. Norėdami efektyviau išnaudoti sodybos galimybes nutarė auginti triušius. Jie įsigijo tris poreles skirtingų veislių triušių: Belgijos milžinų, Vokietijos dėmėtųjų ir Prancūzijos avinų. Šios veislės tinka ir kailiams, ir mėsai. Belgijos milžinų patelės per metus atsiveda bm triušiukų vadas. Vokietijos dėmėtųjų – vd ir Prancūzijos avinų  patelės gali atsivesti per metus pa vadas. Triušiukų skaičiaus vienoje vadoje vidurkis – trk. Trijų mėnesių triušiukai veisimui kainuojatrkain eurų. Belgijos milžinai užauga iki svbm kg,  Vokietijos dėmėtieji iki svvd kg, Prancūzijos milžinai iki  pasv kg.

Užduotis. Apskaičiuokite: kurią veislę augindami Petraičiai gaus didžiausią pelną jei triušiukus parduos veisimui; kurios veislės triušiukas užaugs didžiausias.

Pradiniai duomenys. Pirmoje eilutėje pateikti triušiukų vadų kiekis (Belgijos milžinų, Vokietijos dėmėtųjų ir Prancūzijos avinų).

Antroje eilutėje įrašyta suaugusių triušių masė kilogramais (Belgijos milžinų, Vokietijos dėmėtųjų ir Prancūzijos avinų).

Trečioje eilutėje triušiukų vados skaičiaus vidurkis, trijų mėnesių triušiuko kaina.

Rezultatai.

Pirmoje eilutėje: triušių veislė, kurią augindami ir veisdami Petraičiai gaus didžiausią pelną.

Antroje eilutėje: triušių veislė, kurios triušiukas užaugs didžiausias.

Pradiniai duomenys Rezultatas

3 5 5

8 7 6

6 30

Auginant Prancūzijos avinus arba Vokietijos dėmėtuosius pelnas bus didžiausias

Didžiausi užauga Belgijos milžinai

 

#include <iostream>
using namespace std;
 
int main() 
{
   int bm, vd, pa, trk, trkain, svbm, svvd, pasv;
 
 
  cout<<"Įveskite Belgijos milžinų vadų kiekį per metus"<<endl;
   cin >> bm;
  cout<<"Įveskite Vokietijos dėmėtųjų vadų kiekį per metus"<<endl;
   cin >> vd;
  cout<<"Įveskite Prancūzijos avinų vadų kiekį per metus"<<endl;
   cin >> pa;
  cout<<"Įveskite Belgijos milžinų suaugusio triušio svorį"<<endl;
   cin >> svbm;
  cout<<"Įveskite Vokietijos dėmėtųjų suaugusio triušio svorį"<<endl;
   cin >> svvd;
  cout<<"Įveskite Prancūzijos avinų suaugusio triušio svorį"<<endl;
   cin >> pasv;
  cout<<"Įveskite triušiukų kiekio vidurkį vadoje"<<endl;
   cin >> trk;
  cout<<"Įveskite 3 mėn. triušiuko kainą"<<endl;
   cin >> trkain;
 
  if (bm * svbm * trkain > vd * svvd * trkain > pa * pasv * trkain)
  cout<< "Auginant Belgijos milžinus pelnas bus didžiausias" << endl;
   if (bm * svbm * trkain < vd * svvd * trkain > pa * pasv * trkain)
  cout<< "Auginant Vokietijos dėmėtuosius pelnas bus didžiausias" << endl;
   if (bm * svbm * trkain < vd * svvd * trkain < pa * pasv * trkain)
  cout<< "Auginant Prancūzijos avinus pelnas bus didžiausias" << endl;
   if (bm * svbm * trkain == vd * svvd * trkain > pa * pasv * trkain)
  cout<< "Auginant Belgijos milžinus arba Vokietijos dėmėtuosius pelnas bus didžiausias" << endl;
   if (bm * svbm * trkain < vd * svvd * trkain == pa * pasv * trkain)
  cout<< "Auginant Vokietijos dėmėtuosius arba Prancūzijos avinus pelnas bus didžiausias" << endl;
   if (bm * svbm * trkain == pa * pasv * trkain > vd * svvd * trkain)
  cout<< "Auginant Belgijos milžinus arba Prancūzijos avinus pelnas bus didžiausias" << endl;
        
   if (trk * svbm > trk * svvd > trk * pasv)
      cout<< "Didžiausi užauga Prancūzijos avinai";
   if (trk * svbm < trk * svvd > trk * pasv)
      cout<< "Didžiausi užauga Vokietijos dėmėtieji";
   if (trk * svbm < trk * svvd < trk * pasv)
      cout<< "Didžiausi užauga Belgijos milžinai";
   if (trk * svbm == trk * svvd > trk * pasv)
      cout<< "Didžiausi užauga Belgijos milžinai ir Vokiečių dėmėtieji";
   if (trk * svbm > trk * svvd == trk * pasv)
      cout<< "Didžiausi užauga Vkiečių dėmėtieji ir Prancūzijos avinai";
   if (trk * svbm == trk * pasv > trk * svvd)
      cout<< "Didžiausi užauga Belgijos milžinai ir Prancūzijos avinai";
      
   return 0;
}
Redaguota , nario NaxHQ`

Rodo blogą atsakymą, nes if sąlygos blogai užrašytos. Negali būti tarkim a > b > c.

Pavyzdžiui šitą:

if (a > b > c)
    cout << "Mums pzdc";

Reikia pakeisti į:

if (a > b && a > c)
    cout << "Mums pzdc";

&& atstoja IR, || atstoja ARBA

 

Ir tada kitus if rašyti reikia su else. Kai reikės atskiros išvesties, tada vėl if ir po to else if.

P. S. Pačios formulės pas tave irgi klaidingos. ;)

  • Teigiamai 1
(redaguota)

http://pastebin.com/NuNwkTqKatsiprašau, bet čia man kažkokia nesąmonė gavosi. Viskas veikia - taip, bet kodas tai baisu net pačiam žiūrėti... Kažkokia nesąmoninga užduotis... Net panaudojau funkciją, kad truputi sutrumpinti rašymo. O šiaip jei būtų galima be apribojimų tai čia masyvai viską sutvarkytų.. Anyway, gal padės...

 

Kad ir pas tave kodas nepilnas...

Pvz.:

    bma = count(bm, tvs, tk);
    vda = count(vd, tvs, tk);
    paa = count(pa, tvs, tk);

if(bma==vda && vda==paa) cout << "Auginant bet kuria veisle, pelnas bus vienodas.";
else if(bma==vda) cout << "Auginant Belgijos milzinu arba Vokietijos demetuosius veisles, pelnas bus didziausias.";

O jeigu paa didesnis negu pirmi du? Pas tave būtent tokia pat tvarka eina kaip ir aš parašiau čia.

Redaguota , nario TheMariuzaz

 

Kad ir pas tave kodas nepilnas...

Pvz.:

    bma = count(bm, tvs, tk);
    vda = count(vd, tvs, tk);
    paa = count(pa, tvs, tk);

...

else if(bma==vda) cout << "Auginant Belgijos milzinu arba Vokietijos demetuosius veisles, pelnas bus didziausias.";

O jeigu paa didesnis negu pirmi du?

else if(paa>bma && paa>vda) cout << "Auginant Prancuzijos avinus veisle, pelnas bus didziausias.";

Sorry, bet geriau nesiginčyk su manim. Nes viskas čia veikia tik optimizacijos čia nėra praktiškai...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3845 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

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

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

Skelbimai


×
×
  • Sukurti naują...