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

sprawdzenie kodu równanie kwadratowe

0 głosów
698 wizyt
pytanie zadane 13 listopada 2017 w C i C++ przez artur96 Początkujący (250 p.)

Witam 

Napisałem program na zajęcia z programowania, który liczy pierwiastki równania kwadratowego ale za każdym razem podaje mi zły wynik (cały czas pokazuje że pierwiastek = 0)i nie wiem  o co chodzi próbowałem już to poprawić ale nie udało mi się (nie mogę znaleść tego błędu).Czy ktoś może mi pomóc w znalezieniu tego błędu ?.Pozdrawiam

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
    int a=0,b=0,c=0,w=2,pd,x1=0,x2=0, x0=0 , delta;
    delta=pow(b,w)-4*a*c;
    pd=sqrt(delta);
    x1= -b-pd/2*a;
    x2=-b+pd/2*a;
    x0=-b/2*a;

    printf("Podaj wspolczynniki a,b,c rownania kwadratowego a*x*x+b*x+c: \n");

    printf("Wspolczynnik a: \n");
    scanf("%d", &a);

    printf("Wspolczynnik b: \n");
    scanf("%d", &b);

    printf("Wspolczynnik c: \n");
    scanf("%d", &c);

    if(delta>0)
    {
        printf("pierwiastek x1 = %d , pierwiastek x2 = %d \n", x1,x2);
    }
    else if(delta==0)
    {
        printf("Pierwiastek rownania x0 = %d",x0);
    }
    else
    {
        printf("Brak rozwiazania rownania w zbiorze liczb Rzeczywistych.");
    }
    return (0);
}

 

2 odpowiedzi

+1 głos
odpowiedź 14 listopada 2017 przez jeremus Maniak (59,720 p.)
wybrane 14 listopada 2017 przez artur96
 
Najlepsza
pewnie problem w tym, że wszystkie zmienne są typu integer
0 głosów
odpowiedź 13 listopada 2017 przez marcin99b Szeryf (84,250 p.)
Dlaczego przy miejscach zerowych nie użyjesz nawiasów?
Teraz masz złą kolejność wykonywania zadań
komentarz 13 listopada 2017 przez artur96 Początkujący (250 p.)

acha czylipowinno być  x1=(-b-pd) \ (a*a) dobrze rozumiem?

komentarz 13 listopada 2017 przez marcin99b Szeryf (84,250 p.)
x1=(-b-pd) \ (a*2)

sprawdź czy działa
komentarz 13 listopada 2017 przez artur96 Początkujący (250 p.)
Niestety tym razem wywala mi program(program nie działa)

ewidentnie coś jest nie tak przy pierwiastkach bo gdy dodaje nawiasy program nie działa a jak nie ma nawiasów program działa tylko cały czas wyświetla mi wartość pierwiastka 0 czycoś jeszcze może byćnie tak?
komentarz 14 listopada 2017 przez marcin99b Szeryf (84,250 p.)
Sprawdź breakepointami w którym miejscu program wykonuje złe obliczenie i przeanalizuj to miejsce

Podobne pytania

0 głosów
1 odpowiedź 866 wizyt
pytanie zadane 25 listopada 2017 w C i C++ przez artur96 Początkujący (250 p.)
0 głosów
3 odpowiedzi 446 wizyt
pytanie zadane 20 listopada 2017 w C i C++ przez kamil98u Nowicjusz (220 p.)
+2 głosów
1 odpowiedź 445 wizyt

93,425 zapytań

142,421 odpowiedzi

322,647 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...