Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Obliczanie Delty

Ostatnio zmodyfikowano 2021-11-25 22:00
Autor Wiadomość
tomalmc
Temat założony przez niniejszego użytkownika
Obliczanie Delty
» 2021-11-25 21:11:43
Cześć! To mój drugi post tutaj, jestem samoukiem i bardzo początkujący, spróbowałem rozwiązać zadanie z neta gdzie potrzebuje obliczyć deltę równania ax^2+bx+c=0, udalo mi sie ogarnac jakiś tam kod jednak zdarza się ze po mimo iż delta wychodzi mi ujemna wywala mi dodatkowo komunikat z warunku IF gdy jest większa od 0, nie potrafie znaleźć przyczyny dlaczego tak się dzieje- pomoże ktoś?

C/C++
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main()
{
   
cout << " Oblicz nastepujaca funkcje ax^2+bx+c=0" << endl;
   
std::cout << std::setprecision( 20 );
   
double a, b, c, delta, x1, x2;
   
cout << "Podaj wspolczynnik 'a' rownania kwadratowego: ";
   
cin >> a;
   
cout << "Podaj wspolczynnik 'b' rownania kwadratowego: ";
   
cin >> b;
   
cout << "Podaj wspolczynnik 'c' rownania kwadratowego: ";
   
cin >> c;
   
delta = b * b -( 4 * a * c );
   
   
if( a == 0 )
   
{
       
cout << "Rownania nie mozna rozwiazac gdyz wspolczynnik 'a' nie moze byc rowny 0" << endl;
   
}
   
else
   
{
       
if( delta < 0 )
       
{
           
cout << "Twoja delta wynosi: " << delta << " Rownanie nie ma rozwiazania" << endl;
       
}
       
if( delta == 0 )
       
{
           
cout << "Twoja delta wynosi: " << delta << " Rownanie ma jendo rozwiazanie ";
           
cout << "x0 = " << - b /( 2 * a );
           
           
return 0;
       
}
       
if( b > 0 )
       
{
           
x1 =( - b - sqrt( delta ) ) /( 2 * a );
           
x2 = c /( a * x1 );
       
}
       
else
       
{
           
x2 =( - b + sqrt( delta ) ) /( 2 * a );
           
x1 = c /( a * x2 );
           
cout << "Twoja delta wynosi: " << delta << " Rowanie ma dwa rozwiazania: ";
           
cout << "x1 = " << x1 << "   x2 = " << x2;
           
       
}
       
return 0;
   
}
}

gdy używam wartości a=5 b-4 c=10 dostaje taki wynik: https://imgur.com/a/io3zXBw

z góry dzięki :)
P-179091
nanoant20
» 2021-11-25 22:00:24
C/C++
if( delta < 0 )
{
   
cout << "Twoja delta wynosi: " << delta << " Rownanie nie ma rozwiazania" << endl;
}
else if( delta == 0 )
{
   
cout << "Twoja delta wynosi: " << delta << " Rownanie ma jendo rozwiazanie ";
   
cout << "x0 = " << - b /( 2 * a );
}
else
{
   
double x1 =( - b + sqrt( delta ) ) /( 2 * a );
   
double x2 =( - b - sqrt( delta ) ) /( 2 * a );
   
cout << "Twoja delta wynosi: " << delta << " Rowanie ma dwa rozwiazania: ";
   
cout << "x1 = " << x1 << "   x2 = " << x2;
}
P-179092
« 1 »
  Strona 1 z 1