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

c++ uzdavinys if salyga


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1676 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

laba diena,

man kazkodel ismeta nan kai  lygiasonis trikampis krastines 50 2 2

Citata

Parašykite programą, kuri, įvedus trijų kraštinių ilgius, nustatytų, ar iš jų galima sudaryti trikampį. Jei toks trikampis egzistuoja, reikėtų apskaičiuoti trikampio plotą ir nustatyti, ar jis yra lygiašonis, ar lygiakraštis ar įvairiakraštis.

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	double a, b, c;
	double  aukstine, plotas;
	double pusp;
	double t3;
	cout<<"iveskite 3 krastines"<<endl;
	cin>>a>>b>>c;
	
	if(a+b>c || a+c>b || b+c>a)
	{
	
	if(a==b && a!=c)
	{
	t3=c/2;
	aukstine=sqrt((a*a)-(t3*t3));
	plotas=aukstine*t3;
	cout<<"trikampis lygiasonis "<<endl;
	cout<<"plotas "<<plotas<<endl;
	}
	if(a==c && a!=b)
	{
	t3=b/2;
	aukstine=sqrt((a*a)-(t3*t3));
	plotas=aukstine*t3;
	cout<<"trikampis lygiasonis "<<endl;
	cout<<"plotas "<<plotas<<endl;
	}
	if(b==c && b!=a)
	{
	t3=a/2;
	aukstine=sqrt((b*b)-(t3*t3));
	plotas=aukstine*t3;
	cout<<"trikampis lygiasonis "<<endl;
	cout<<"plotas "<<plotas<<endl;
	}
	
	if(a==b && b==c)
	{
	cout<<"trikampis lygiakrastis"<<endl;
	plotas=((a*a)*sqrt(3))/4;
	cout<<"plotas "<<plotas<<endl;
	}
	
	if(a!=b && a!=c && b!=c)
	{
	cout<<"trikampis ivairiakrastis"<<endl;
	pusp=(a+b+c)/2;
	plotas=sqrt(pusp*(pusp-a)*(pusp-b)*(pusp-c));
	cout<<"plotas "<<plotas<<endl;
	}
    }
    else
    cout<<"trikampio sudaryti negalima"<<endl;
	return 0;
}

 

Redaguota , nario matematika8520
n
Nuoroda į komentarą
Dalintis per kitą puslapį

if(b==c && b!=a)
	{
	t3=a/2; //50/2=25
	aukstine=sqrt((b*b)-(t3*t3));// sqrt(2x2 - 25x25) - Iš minusinio skaičiaus nesitraukia šaknis, todėl NaN 
	plotas=aukstine*t3;
	cout<<"trikampis lygiasonis "<<endl;
	cout<<"plotas "<<plotas<<endl;
	}

Nepateiksiu sprendimo, tačiau persižėk, kažkas blogai čia pas tave. Iš minuso šaknies neištrauksi, todėl taip ir spauzdina

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

labai aciu

o taip pat norejau paklausti ar gerai isprendziau si uzdavini

Citata

1.      Parašykite programą, kuri, įvedus sunaudotos elektros energijos kiekį, pateiktų sąskaitą salos gyventojams pagal tokius įkainius:

Pirmi 50 kW kainuoja  0.5 eur/kW
Viršijus 50 kW, kitiems 100 kW kaina 0.75 eur/kW.
Dar sekančiam 100 kW taikomas tarifas 1.20 eur/kW
Viršijus 250 kW, 1.50 eur/kW
Taip pat taikomas 20 proc. administravimo mokestis.

#include <iostream>

using namespace std;

int main()
{
    float k;
    float kaina=0;
    float p;
    cout<<"iveskite energijos kieki"<<endl;
    cin>>k;
    if(k<=50)
    {
        p=(k*0.5)*0.2;
        kaina=(k*0.5)+p;
    }
    if(k>50 && k<=100)
    {
       p=(k*0.5)*0.2;
       kaina=k*0.75+p;
    }
    if(k>100)
    {
        p=(k*0.5)*0.2;
        kaina=k*1.2+p;
    }
    if(k>250)
    {
        p=(k*0.5)*0.2;
        kaina=k*1.5+p;
    }
    cout<<"kaina "<<kaina<<endl;
    return 0;
}

 

Nuoroda į komentarą
Dalintis per kitą puslapį

1 minute prieš, matematika8520 parašė:

labai aciu

o taip pat norejau paklausti ar gerai isprendziau si uzdavini


#include <iostream>

using namespace std;

int main()
{
    float k;
    float kaina=0;
    float p;
    cout<<"iveskite energijos kieki"<<endl;
    cin>>k;
    if(k<=50)
    {
        p=(k*0.5)*0.2;
        kaina=(k*0.5)+p;
    }
    if(k>50 && k<=100)
    {
       p=(k*0.5)*0.2;
       kaina=k*0.75+p;
    }
    if(k>100)
    {
        p=(k*0.5)*0.2;
        kaina=k*1.2+p;
    }
    if(k>250)
    {
        p=(k*0.5)*0.2;
        kaina=k*1.5+p;
    }
    cout<<"kaina "<<kaina<<endl;
    return 0;
}

 

aš šiek tiek kitaip daryčiau ir labai abejoju ar čia duoda teisingą atsakymą, nes antrame if'e šiek tiek skiriasi nuo salygos.

#include <iostream>

using namespace std;

int main()
{
    float k;
    float kaina=0;
    float p;
    cout<<"iveskite energijos kieki"<<endl;
    cin>>k;
    if(k>250)
    {
      	kaina+=25+75+120+(k-250)*1.50;
    }
 	else if(k>150) // nereikia daugiau salygų, nes else ir taip pasako, kad k nebus daugiau nei 250
    {
      	kaina+=25+75+(k-150)*1.25;
    }
  	else if(k>50)
    {
      	kaina+=25+(k-50)*0.75;
    }
  	else kaina+=k*0.5;
  	kaina+=kaina/100*20;
    cout<<"kaina "<<kaina<<endl;
    return 0;
}
Nuoroda į komentarą
Dalintis per kitą puslapį

Ten dėl tų trikampių... Pirma sąlyga paprasta, po to turėtų pagal viską būti if else sąlyga, ir trečiam patikrinime turėtų būti taip pat if else, o ne if. Kai grįšiu namo, peržvelgsiu kompiuteryje.

 

Ir man atrodo trikampio ploto apskaičiavimas ne toks turėtų būt. Reikėtų apskaičiuot kaip kvadrato plotą ir tada padalinti iš dviejų. Ne taip...?

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

31 minutes prieš, Virsenas parašė:

Ten dėl tų trikampių... Pirma sąlyga paprasta, po to turėtų pagal viską būti if else sąlyga, ir trečiam patikrinime turėtų būti taip pat if else, o ne if. Kai grįšiu namo, peržvelgsiu kompiuteryje.

 

Ir man atrodo trikampio ploto apskaičiavimas ne toks turėtų būt. Reikėtų apskaičiuot kaip kvadrato plotą ir tada padalinti iš dviejų. Ne taip...?

Priklauso koks trikampis man rodos. Stataus tai taip, reikia iš dviejų padalint, o dėl lygiašonių ir t.t. tai nežinau, reikia internete žiūrėt

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 4 valandas(-ų), District parašė:

Naudokit SWITCH, o ne spaminkite if else.

switch(expression) {
  case x:
    // code block

    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Supranti, kad jie tokių dalykų dar nesimokė? Uždavinius reikia atlikti taip kaip jie mokėsi mokykloj. Ateis laikas - išmoks ir switch.

 

prieš 4 valandas(-ų), Michael_Scott parašė:

Priklauso koks trikampis man rodos. Stataus tai taip, reikia iš dviejų padalint, o dėl lygiašonių ir t.t. tai nežinau, reikia internete žiūrėt

Aij..., taip. Atradau kažką naudingo: https://www.ematematikas.lt/forumas/trikampio-plotas-ir-savybes-t10794.html

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1676 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!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai


×
×
  • Sukurti naują...