• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program do liczenia funkcji kwadratowej i problem z warunkami

0 głosów
1,156 wizyt
pytanie zadane 19 września 2018 w C i C++ przez misado Nowicjusz (160 p.)

Dopiero zacząłem z c++ także nie bijcie :/

Bez tego 3 warunku wszystko działa ok ale jak go dodam to nawet nie ważne jaka wyjdzie delta w konsoli na końcu pokazuje mi wynik ze wszystkich warunków. Próbowałem już zmieniać ostatni warunek na  samo else poprzedni też itp itd . Kombinuje już z godzine ale nie moge nic wykminić.

#include <iostream>
#include <math.h>

using namespace std;
int main()
{
    int a, b, c, delta, x0, x1, x2, deltapierwiastek;
    cout << "Podaj wartość przy x2 ";
    cin >> a;
    cout << "Podaj wartość przy x ";
    cin >> b;
    cout << "Podaj wartość wyrazu wolnego ";
    cin >> c;
    delta=(b*b)-(4*a*c);
    {
        if (delta<0)
             {cout << "Delta ujemna";}
               else if  (delta==0)
                 {x0=-b/2*a;
            cout << "Delta wynosi " << delta << endl << "x0= " << x0 << endl;}
              else if  (delta>0);
                {deltapierwiastek=sqrt(delta);
                x1=-b+deltapierwiastek/2*a;
                x2=-b-deltapierwiastek/2*a;
                cout << "Delta wynosi" << delta << endl << "x1= " << x1 << endl << "x2= " << x2;}


    }
    return 0;
}

 

4 odpowiedzi

0 głosów
odpowiedź 19 września 2018 przez Velta Maniak (52,910 p.)
W 21 linijce masz średnik, którego raczej nie powinno być.
0 głosów
odpowiedź 19 września 2018 przez RafalS VIP (122,780 p.)

Potrzebujesz liczb zmiennoprzecinkowych a nie całkowitych: 

    double a, b, c, delta, x0, x1, x2, deltapierwiastek;

i wszystko zacznie działać :P.

EDIT: Kolega zauważył średnik w 21 linijce, którego nie powinno być

0 głosów
odpowiedź 19 września 2018 przez misado Nowicjusz (160 p.)
Ehhh a ja sie tylko męczyłem....

Dzięki :)
0 głosów
odpowiedź 19 września 2018 przez niezalogowany
x1=(-b+deltapierwiastek)/2*a;
x2=(-b-deltapierwiastek)/2*a;

Kolejność operacji ma znaczenie. Teraz już powinno na pewno działać poprawnie :D

Podobne pytania

0 głosów
1 odpowiedź 1,426 wizyt
0 głosów
1 odpowiedź 1,172 wizyt
+1 głos
1 odpowiedź 1,915 wizyt
pytanie zadane 16 października 2017 w JavaScript przez excavelty Bywalec (2,480 p.)

93,775 zapytań

142,731 odpowiedzi

323,383 komentarzy

63,379 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...