bài tập c giải phương trình bậc 1, 2, 4

5 404 0
bài tập c   giải phương trình bậc 1, 2, 4

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài 64 + 65 + 66: Giải phương trình bậc 1, 2, #include #include using namespace std; const int NoSolution = 0, Undetermined = -1; int EqualDeg1(double a, double b, double &x) Phương trình bậc // { int nSolution1; Số nghiệm // if(a != 0) { x = -b / a; nSolution1 = 1; } else // a = { x = 0; if(b == 0) nSolution1 = Undetermined; // Phương trình vô định ( có vô số nghiệm) else nSolution1 = NoSolution; // Phương trình vô nghiệm } return nSolution1; } int EqualDeg2(double a, double b, double c, double &x1, double &x2) Phương trình bậc // { int nSolution2; x1 = x1 = 0; Mặc định if(a == 0) nSolution2 = EqualDeg1(b,c, x1); // else { double Delta = b * b - * a * c; double two_a = * a; if(Delta < 0) nSolution2 = NoSolution; // Phương trình vô nghiệm else if(Delta == 0) { x1 = x2 = -b / two_a; nSolution2 = 1; // Phương trình có nghiệm kép } else { double sqrtDelta = sqrt(Delta); x1 = (-b - sqrtDelta) / two_a; x2 = (-b + sqrtDelta) / two_a; nSolution2 = 2; // Phương trình có nghiệm phân biệt } } return nSolution2; } int EqualQuartic(double a, double b, double c, double &x1, double &x2, double &x3, double // Phương trình trùng phương &x4) { int nSolution, nSolution1, nSolution2; double y1, y2; // x1 = x2 = ; x3 = x4 = 0; Mặc định nSolution1 = EqualDeg2(a, b, c, y1, y2); switch(nSolution1) { case NoSolution: case Undetermined: nSolution = nSolution1; break; case 1: nSolution = EqualDeg2(1, 0, -y1, x1, x2); break; case 2: nSolution2 = EqualDeg2(1, 0, -y1, x1, x2); switch(nSolution2) { case NoSolution: nSolution = EqualDeg2(1, 0, -y2, x1, x2); break; case 1: nSolution = + EqualDeg2(1, 0, -y2, x2, x3); break; case 2: nSolution = + EqualDeg2(1, 0, -y2, x3, x4); break; } } return nSolution; } int main() { /*double a, b, x; cout > a; cout > b; int nSolution = EqualDeg1(a, b, x); cout

Ngày đăng: 19/10/2016, 00:36

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan