Obliczanie delty - program zawsze zwraca wartość ujemną

0

Cześć wszystkim!
Tak jak ten dział wskazuje, jestem newbie jeśli chodzi o programowanie. Wziąłem się za język C++ i takowym właśnie jest napisany prosty program, który zaraz wam przedstawię. Problem polega na tym, że z jakiegoś powodu ten program zawsze licząc deltę wyrzuca mi wartość ujemną i tu pytanie do Was - dlaczego?
I jeszcze jedna uwaga. Robiąc to na uczelnianym komputerze było wszystko w porządku, liczyło jak trzeba. Uruchamiłem to na swoim prywatnym komputerze (Visual Studio) i wtedy zaczęło liczyć źle. Nie wiem w czym problem.
Kod:

#include<iostream>
using namespace std;
int main(){
	double a, b, c, delta;
	cout << "Podaj a ";
	cin >> a;
	cout << "Podaj b ";
	cin >> b;
	cout << "Podaj c ";
	cin >> c;
	delta = b*b - 4 * a*c;
	cout << "delta = " << delta << endl;
	double x, x1, x2;
	if (delta > 0){
		x1 = (b*(-1) - sqrt(delta)) / (2 * a);
		cout << "x1 = " << x1 << endl;
		x2 = (b*(-1) + sqrt(delta)) / (2 * a);
		cout << "x2 = " << x2 << endl;
	}
	else if (delta < 0){
		cout << "Gdy delta wychodzi ujemna  nie ma rozwišzań w liczbach rzeczywistych" << endl;
	}
	else {
		x = (b*(-1) - sqrt(delta)) / 2 * a;
		cout << "x1 = " << x << endl;
	}

	system("pause");
}
0

Co rozumiesz przez "liczy źle"? U mnie działa: http://rextester.com/PNH25436

1 użytkowników online, w tym zalogowanych: 0, gości: 1