[C++]Równanie kwadratowe

kameleon
Użytkownik
Użytkownik
Posty: 65
Rejestracja: 25 mar 2008, o 21:32
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 29 razy
Pomógł: 2 razy

[C++]Równanie kwadratowe

Post autor: kameleon »

Witam , bardzo proszę o sprawdzenie tego kodu i ewentualne poprawki. Niby wszystko się kompiluje ale gdy dam \(\displaystyle{ a=0}\) to nic się nie dzieję wiec musiałem coś sknocić. Z góry dzięki za pomoc.


Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;

int main(int argc, char *argv[])
{
    float a;
    float b;
    float c;
    float delta;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    cout<<"c=";
    cin>>c;
    if(a==0)
    {
     if(b==0)
     {
      if(c==0)
      {
       cout<<"Nieskończenie wiele rozwiazan"<<endl;      
      } 
      else
      {
       cout<<"Rozwiazanie :"<<-c/b<<endl;
      }                
     }               
    }  
    else
    {
     delta=b*b-4*a*c;
     if(delta<0)
      {
       cout<<"Nie ma rozwiazan"<<endl;
      }
     else
     {
      if(delta==0) 
      {
       cout<<"Rozwiazanie :"<<-b/2*a<<endl;
      }
      else
      {
       cout<<"Rozwiazanie 1:"<<(-b-sqrt(delta))/2*a<<endl;
       cout<<"Rozwiazanie 2:"<<(-b+sqrt(delta))/2*a<<endl;
      }                    
     }      
    }  
                          
             
            
    system("PAUSE");
    return EXIT_SUCCESS;
}
Ostatnio zmieniony 9 mar 2012, o 15:07 przez lukasz1804, łącznie zmieniany 1 raz.
Powód: Cały kod LaTeX-a umieszczaj między tagami [latex], [/latex]. Poprawa wiadomości.
lukasz1804
Użytkownik
Użytkownik
Posty: 4438
Rejestracja: 17 kwie 2007, o 13:44
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 12 razy
Pomógł: 1313 razy

[C++]Równanie kwadratowe

Post autor: lukasz1804 »

Nie znam się na programowaniu w C++, ale fragment Twojego kodu nie obejmuje sytuacji \(\displaystyle{ a=b=0, c\ne 0}\), w której równanie nie ma rozwiązań.
adambak
Użytkownik
Użytkownik
Posty: 1272
Rejestracja: 8 sty 2011, o 18:18
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 295 razy
Pomógł: 115 razy

[C++]Równanie kwadratowe

Post autor: adambak »

jak wpiszesz \(\displaystyle{ a=0; b\neq 0; c}\) to nic nie wypisuje ponieważ jest to sytuacja kiedy wchodzi do:

Kod: Zaznacz cały

if(a==0)
ale \(\displaystyle{ b}\) jest różne od zera więc gdy natrafia na:

Kod: Zaznacz cały

if(b==0)
to warunek nie jest spełniony, ale nie ma tutaj instrukcji else więc kończy swoją pracę bo nie ma już nic do roboty..
ODPOWIEDZ