To zadanie pochodzi z książki Od matematyki do programowania. Treść jego rozwiązania masz poniżej, ale możesz pobrać sobie też FTP ze strony Helion jeżeli będziesz miał inne zadania matematyczne w C++ możliwe, że pochodzić będą właśnie z tej książki więc rozważ zakup, bo same przykłady dostępne na FTP nie są opisane co do treści danego zadania.
#include <iostream>
#include <math.h>
using namespace std;
int main(){
system("chcp 1250");
cout << "Rozwiązywanie równania dwukwadratowego ax^4+bx^2+c = 0\n";
cout << "Podaj współczynniki równania oddzielone odstępami: ";
double a, b, c;
cin >> a >> b >> c;
if (a != 0) {
double delta = b*b-4*a*c;
cout << "Pierwiastki równania:\n";
if (delta > 0) {
double y1 = (-b-sqrt(delta))/(2*a);
double y2 = (-b+sqrt(delta))/(2*a);
if (y1 > 0) {
cout << "x = " << -sqrt(y1) << endl;
cout << "x = " << sqrt(y1) << endl;
}
if (y2 > 0) {
cout << "x = " << -sqrt(y2) << endl;
cout << "x = " << sqrt(y2) << endl;
}
if ((y1 == 0) || (y2 == 0))
cout << "x = 0 - pierwiastek dwukrotny\n";
if ((y1 < 0) && (y2 < 0))
cout << "Równanie nie ma pierwiastków rzeczywistych.\n";
} else if (delta == 0) { // pierwiastek dwukrotny
double y = -b/(2*a);
if (y > 0) {
cout << "x = " << -sqrt(y) << " - pierwiastek dwukrotny\n";
cout << "x = " << sqrt(y) << " - pierwiastek dwukrotny\n";
}
if (y == 0) cout << "x = 0 - pierwiastek czterokrotny\n";
if (y < 0)
cout << "Równanie nie ma pierwiastków rzeczywistych.\n";
} else // delta ujemna
cout << "Równanie nie ma pierwiastków rzeczywistych.\n";
} else
cout << "a = 0, równanie nie jest równaniem dwukwadratowym.\n";
system("pause");
return 0;
}
Wywal jedynie math.h i zamień na cmath. Pozmieniaj sobie treść z logicznej przyczyny...