Quote (|laki|)
Нужно написать программу которая бы решала квадратные уравнения
Code
#include <iostream>
#include <stdio.h>
#include <cmath>
using namespace std;
int kwadr (double e, double f, double g,double x1, double x2, int p);
int linear (double f, double x1, double g, int p);
int main () {
double a,b,c,x,x1,x2;
int k,n,p;
cout << "Программа для решения уравнения\n" << endl;
cout << "вида: ax^2+bx+c=0" << endl;
cout << "a=" << endl; a=cin.get();
cout << "b=" << endl; b=cin.get();
cout << "c=" << endl; c=cin.get();
if (a==0)
{ linear (b,x1,c,p); }
else { kwadr (a,b,c,x1,x2,p); }
cout << "Уравнения с коэффициентами " << a << b << c << endl;
switch (p) {
case 0: cout << "Не имеет решения" << endl;
case 1: cout << "Имеет одно решение " << x1 << endl;
case 2: cout << "Имеет два действительных корня " << x1 << x2 << endl;
}
}
int kwadr (double e, double f, double g,double x1, double x2, int p) {
double d;
d=f*f-4*e*g;
if (d<0) { p=0; }
else {
e=e*2;
if (d==0) {
p=1;
x1=-f/e; }
else {
p=2;
d=sqrt (d);
x1=(-f+d)/e;
x2=(-f-d)/e;
}
}
}
int linear (double f, double x1, double g, int p) {
int const eps=0.0001;
if (abs(f) > eps) {
x1 = -g/f; p = 1;
}
else {
if (abs(g) < eps) { p = 3; }
else p = 0;
}
}