Website Summary Files Commits Branches @commit @diff @stats
path: root / pract_SI / pract. 02 / task5.cpp
blob: 419d6d41b68a4862e2fcc2a0f3149aae8b9c4bbc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	 double a, b, c;
	 double root1, root2, imaginary;
	 double discriminant;

	 cout << "Finding the root of the equation a * x^2 + b * x + c = 0\n";

	 cout << "Enter the value of a: ";
	 cin >> a;

	 if (a < 0.00000001)
	 {
		  cout << "If a is 0, then this is not a quadratic equation!\n";
		  return 1;
	 }

	 cout << "Enter the value of b: ";
	 cin >> b;

	 cout << "Enter the value of c: ";
	 cin >> c;

	 discriminant = (b * b) - (4 * a * c);

	 if (discriminant > 0)
	 {
		  root1 = (-b + sqrt(discriminant)) / (2 * a);
		  root2 = (-b - sqrt(discriminant)) / (2 * a);

		  cout << "Two distinct and real roots exist: " << root1 << " and " << root2 << endl;
	 }
	 else if (discriminant == 0)
	 {
		  root1 = root2 = -b / (2 * a);

		  cout << "Two equal and real roots exist: " << root1 << " and " << root2 << endl;
	 }
	 else if (discriminant < 0)
	 {
		  root1 = root2 = -b / (2 * a);
		  imaginary = sqrt(-discriminant) / (2 * a);

		  cout << "Two distinct complex roots exist: " << root1 << "+" << imaginary << "i and " << root2 << "-" << imaginary << "i\n";
	 }

	 return 0;
}