Tớ cũng không hiểu nữa, nhưng cậu cứ mở msdn lên tra, hoặc chuyển về pow(delta,1/2) . Coi có thiếu thư viện gì không ?
C Code:
#include <iostream.h> #include <conio.h> #include <math.h> void main() { clrscr(); int a,b,c; float delta,x,x1,x2; cout<<"Ban hay nhap he so a b c :";cin>>a>>b>>c; while (a==0) { cout<<"He so a ko dung. Hay nhap lai :";cin>>a; } if (a!=0) { delta =b*b-4*a*c; x=-b/2*a ; { if (delta<0) cout<<"PT VN"; else { if (delta==0) cout<<"Phuong trinh co nghiem kep: x="<<x; else { if (delta>0) cout<<"Phuong trinh co 2 nghiem phan biet "; cout<<"x1= "<<x1;cout<<endl; cout<<"x2= "<<x2;cout<<endl; } } } } getch(); }
Khi Run bị báo lỗi DOMAIN Sqrt. Mong các bạn giải thích lý do và hướng giải quyết !
Đã được chỉnh sửa lần cuối bởi truongphanbinh : 12-04-2008 lúc 08:24 AM.
Tớ cũng không hiểu nữa, nhưng cậu cứ mở msdn lên tra, hoặc chuyển về pow(delta,1/2) . Coi có thiếu thư viện gì không ?
Nếu delta < 0 thì sao bạn.Sqrt(n) mà n<0 --> ko hợp lý !^PHP Code:if (a!=0)
{
delta =b*b-4*a*c;
x=-b/2*a ;
x1=(-b-sqrt(delta))/2*a;
x2=(-b+sqrt(delta))/2*a ;
*-* Vì hạnh phúc các bạn hãy cố gắng lên nhé ! *-*
Ah,còn mấy chỗ này!
Nếu không có dấu ngoặc thì sau khi chia cho 2 biểu thức sẽ tiếp tục nhân a chứ không phải chia a như bạn mong muốnPHP Code:x1=(-b-sqrt(delta))/2*a;//sửa lại x1=(-b-sqrt(delta))/(2*a);
*-* Vì hạnh phúc các bạn hãy cố gắng lên nhé ! *-*
Xửa chọn vẹn cho cậu rồi nhé
C++ Code:
#include <iostream.h> #include <conio.h> #include <math.h> void main() { clrscr(); int a,b,c; float delta,x,x1,x2; while (a==0) { } if (a!=0) { delta =b*b-4*a*c; { if (delta<0){ } else { if (delta==0){ x=-b/2/a; } else { if (delta>0) x1=(-b-sqrt(delta))/2/a; x2=(-b+sqrt(delta))/2/a; } } } } getch(); }
Đã được chỉnh sửa lần cuối bởi mushu : 14-04-2008 lúc 08:58 AM.
đoạn code bạn viết chạy ở máy tôi hoàn toàn ok, không có gì xảy ra!!
bạn có thể tham khỏa đoạn code này xem:
Chú ý bỏ code vào thẻ !C++ Code:
#include<iostream.h> #include<math.h> double a,b,c; double delta; double x1,x2; char traloi; void main() { do { delta = b*b - 4*a*c; //kiem tra delta if(delta <0) else { x1= ( -b + sqrt(delta))/(2*a); x2= ( -b - sqrt(delta))/(2*a); } } while ((traloi !='K') && (traloi !='k')); }
Đã được chỉnh sửa lần cuối bởi rox_rook : 12-04-2008 lúc 08:59 AM.
to kỉmubi :code của bạn quá hoàn hảo. Thanks very much