Pereiti prie turinio

Kvadratinės lygties sprendimas c++


Rekomenduojami pranešimai

Padekit kas Uždavinys. Duota kvadratinė lygtis:

ax2+bx+c=0,

kur a, b, c – realūs nelygus nuliui skaičiai iš intervalo [1,20].

Lygties šaknys: apskaičiuojamos pagal šias formules:

X1,2 =(-b±√D)/2a, jeigu D<0

D  b2  4ac;

Jeigu D  0 , realių šaknų nėra., jeigu D lygus nuliui – abi šaknys realios ir lygios viena kitai

 

include <iostream>

#include <cmath>

using namespace std;

int main()

{

bool vykdyti = 1;

while(vykdyti == 1)

{

double a, b, c, diskriminantas, x1, x2;

cout << "ax^2 + bx + c = 0" << endl << endl;

cout << "Pilnosios kvadratines lygties diskriminanto ir sprendiniu apskaiciavimas" << endl << endl;

cout << "Iveskite 'a' reiksme: "; cin >> a;

cout << "Iveskite 'b' reiksme: "; cin >> b;

cout << "Iveskite 'c' reiksme: "; cin >> c;

cout << endl << endl;

if(a > 0 and b > 0 and c > 0)

{

diskriminantas = pow(b, 2) - (4 * a * c);

cout << "D.= " << diskriminantas << endl;

if(diskriminantas > 0)

{

cout << "Lygtis turi du skirtingus sprendinius." << endl << endl;

x1 = (-b + sqrt(diskriminantas)) / (2 * a);

x2 = (-b - sqrt(diskriminantas)) / (2 * a);

cout << "x1 = " << x1 << endl;

cout << "x2 = " << x2 << endl;

}

else if(diskriminantas == 0)

{

cout << "Lygtis turi du vienodus sprendinius." << endl << endl;

x1 = (- / (2 * a);

cout << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Lygtis sprendiniu neturi." << endl;

}

cout << endl << endl;

cout << "Ar norite spresti is naujo?(1 - taip ; 0 - ne): "; cin >> vykdyti;

cout << string( 100, '\n' );

}

else

{

cout << "a, b arba c negali buti lygus 0!" << endl;

cout << "Ar norite spresti is naujo?(1 - taip ; 0 - ne): "; cin >> vykdyti;

cout << string( 100, '\n' );

}

}

cout << "Programa darba baige" << endl;

return 0;

}

kažkas panašaus i tai bet kaip dar padaryti patikrinimas kad a,b,c imtu iš intervalo[1;20]

Redagavo nemoka
Nuoroda į pranešimą
Dalintis kituose puslapiuose
kažkas panašaus i tai bet kaip dar padaryti patikrinimas kad a,b,c imtu iš intervalo[1;20]

O ko paprastai netikrini i.e: if(0 < a && a >= 20) (a tarp 1 ir 20, imtinai) ir jeigu false gražini, kad vėl įvestų per naujo? Čia viskas labai susiprastintų, jeigu funkcijas susikurtum, bet nežinau ar jau mokė jus :)

Redagavo ReborN
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

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.   Atkurti formatavimą

  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.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...