Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I included the homework task and then the error message I am getting. I have wor

ID: 3650107 • Letter: I

Question

I included the homework task and then the error message I am getting. I have worked on this for a while and can't figure out what's going on!


#include "std_lib_facilities_3.h"
int main()
{
double a = a; //first constant of our equations
double b = b; //second constant of our equations
double c = c; //third constant of our equations
double x1 = 0; //first root
double x2 = 0; //second root

cout<<"Please enter your values for a, b, and c: "; //prompts the user to type 3 numbers
cin>>a>>b>>c; //reads from left to right the values of a, b, and c

d=max(abs(a), abs(b), abs(c));

discriminant=(a/d b/d c/d)((b*b)-4*a*c); //calculates the discriminant
if (a==0&&b==0&&c==0) //for when all values are zero
{
cout<<"Every real or complex number is a root! ";
}
else if (a==0&&b==0&&c>0) //when a,b are zero and c is not
{cout<<"The equation is inconsistent! ";
}
else if (a==0&&b>0) //when a is zero but b is not
{cout<<"Solution does not exist! ";
}
else if (b*b-(4*a*c)<0)//when we have a negative discriminant
{cout<<"The roots are complex! ";
}
else if (discriminant=0) //when discriminant is zero
{
cout<<"There is one repeated root. ";
cout<<"x1=x2="<<(-1*b)/(2*a);
}
else { //for when a, b, and c are all nonzero.
double scalea=a/d;
double scaleb=b/d;
double scalec=c/d;

if (scalea==0){
cout<<"There is one repeated root. ";
cout<<"x1=x2="<<(-1*scaleb)/(2*scalea);
}
else if (d==abs(b)){
x1=(-scaleb+abs(scaleb)*sqrt(1-4*(scalea/scaleb)*(scalec/scaleb))/(2*scalea));
x2=(-scaleb-abs(scaleb)*sqrt(1-4*(scalea/scaleb)*(scalec/scaleb))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else if (d==abs(a)&&a>0){
x1=(-scaleb+abs(scaleb)*sqrt(scalea)*sqrt((scaleb/scalea)*scaleb-4*scalec)/(2*scalea));
x2=(-scaleb-abs(scaleb)*sqrt(scalea)*sqrt((scaleb/scalea)*scaleb-4*scalec)/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else if (d==abs(a)&&a<0){
x1=(-scaleb+abs(scaleb)*(sqrt(-scalea)*sqrt(-(scaleb/a)*scaleb+4*scalec))/(2*scalea));
x2=(-scaleb-abs(scalec)*(sqrt(-scalea)*sqrt(-(scaleb/a)*scaleb+4*scalec))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else if (d==abs(c)&&c>0){
x1=(-scaleb+abs(scaleb)*(sqrt(scalec)*sqrt((scaleb/scalec)*scaleb-4*scalea))/(2*scalea));
x2=(-scaleb-abs(scaleb)*(sqrt(scalec)*sqrt((scaleb/scalec)*scaleb-4*scalea))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else{
x1=(-scaleb+abs(scaleb)*(sqrt(-scalec)*sqrt(-(scaleb/scalec)*scaleb+4*scalea))/(2*scalea));
x2=(-scaleb-abs(scaleb)*(sqrt(-scalec)*sqrt(-(scaleb/scalec)*scaleb+4*scalea))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
}

return 0;
}

Explanation / Answer

please rate - thanks

should get you started, as in the past I chaged the header files, since didn't have yours

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a = a; //first constant of our equations
double b = b; //second constant of our equations
double c = c; //third constant of our equations
double x1 = 0; //first root
double x2 = 0; //second root
double d,discriminant;

cout<<"Please enter your values for a, b, and c: "; //prompts the user to type 3 numbers
cin>>a>>b>>c; //reads from left to right the values of a, b, and c

d=max(fabs(a), fabs(b));
d=max(d, fabs(c));
discriminant=(b*b)-4*a*c; //calculates the discriminant
if (a==0&&b==0&&c==0) //for when all values are zero
{
cout<<"Every real or complex number is a root! ";
}
else if (a==0&&b==0&&c>0) //when a,b are zero and c is not
{cout<<"The equation is inconsistent! ";
}
else if (a==0&&b>0) //when a is zero but b is not
{cout<<"Solution does not exist! ";
}
else if (b*b-(4*a*c)<0)//when we have a negative discriminant
{cout<<"The roots are complex! ";
}
else if (discriminant=0) //when discriminant is zero
{
cout<<"There is one repeated root. ";
cout<<"x1=x2="<<(-1*b)/(2*a);
}
else { //for when a, b, and c are all nonzero.
double scalea=a/d;
double scaleb=b/d;
double scalec=c/d;

if (scalea==0){
cout<<"There is one repeated root. ";
cout<<"x1=x2="<<(-1*scaleb)/(2*scalea);
}
else if (d==abs(b)){
x1=(-scaleb+abs(scaleb)*sqrt(1-4*(scalea/scaleb)*(scalec/scaleb))/(2*scalea));
x2=(-scaleb-abs(scaleb)*sqrt(1-4*(scalea/scaleb)*(scalec/scaleb))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else if (d==abs(a)&&a>0){
x1=(-scaleb+abs(scaleb)*sqrt(scalea)*sqrt((scaleb/scalea)*scaleb-4*scalec)/(2*scalea));
x2=(-scaleb-abs(scaleb)*sqrt(scalea)*sqrt((scaleb/scalea)*scaleb-4*scalec)/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else if (d==abs(a)&&a<0){
x1=(-scaleb+abs(scaleb)*(sqrt(-scalea)*sqrt(-(scaleb/a)*scaleb+4*scalec))/(2*scalea));
x2=(-scaleb-abs(scalec)*(sqrt(-scalea)*sqrt(-(scaleb/a)*scaleb+4*scalec))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else if (d==abs(c)&&c>0){
x1=(-scaleb+abs(scaleb)*(sqrt(scalec)*sqrt((scaleb/scalec)*scaleb-4*scalea))/(2*scalea));
x2=(-scaleb-abs(scaleb)*(sqrt(scalec)*sqrt((scaleb/scalec)*scaleb-4*scalea))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
else{
x1=(-scaleb+abs(scaleb)*(sqrt(-scalec)*sqrt(-(scaleb/scalec)*scaleb+4*scalea))/(2*scalea));
x2=(-scaleb-abs(scaleb)*(sqrt(-scalec)*sqrt(-(scaleb/scalec)*scaleb+4*scalea))/(2*scalea));
cout<<"x1="<<x1<<" ";
cout<<"x2="<<x2<<" ";
}
}

return 0;
}