30/09/2018, 15:58
Vấn đề bài tập C++
#include <iostream>
#include <string>
#include<stdio.h>
#include<conio.h>
#include<math.h>
using namespace std;
void bieuthuc(float p, float q){
float cumnho = pow((pow(p, 3) / 27) + pow(q, 2) / 4, (1 * 1.0 / 2 * 1.0));
float cum1 = pow((-q / 2 + cumnho), (1 * 1.0 / 3 * 1.0));
float cum2 = pow((-q / 2 - cumnho), (1 * 1.0 / 3 * 1.0));
float kq = cum1 + cum2;
cout << cum1 << endl;
cout << cum2 << endl;
cout << kq << endl;
}
void main(){
float p, q;
cout << "nhap 2 so p va q" << endl;
cout << "nhap p" << endl;
cin >> p;
cout << "nhap q" << endl;
cin >> q;
cout << "ket qua = ";
bieuthuc(p, q);
system("pause");
}
Đề bài là:
Nhập vào 2 số nguyên p, q và tính biểu thức sau:
(-q/2+(p^3/27+q^2/4)^1/2)^1/3+ (-q/2 – (p^3/27+q^2/4)^1/2)^1/3
Mình làm ra đc kết quả nhưng tại sao phép trừ của cụm biểu thức thứ 2 mình lại không ra được kết quả mà ra -1,#BIND?
Nhờ mọi người giúp với ạ!
Bài liên quan
Bạn xem bài viết này trước khi post câu hỏi: Cách post Code dùng Markdown trong Category Programming
Về bài viết bên trên của bạn, mình vừa sửa lại cách trình bày.
IND có thể là
IND is the representation of NaN ( Not a Number )
.trong hàmPow (x,y)
trong C++, thìx >0
, trường hợp trên xảy ra lỗi như vậy do kết quả tính toán của bạn trả ra x<0 khi gọi hàm Pow.Vậy cho mình hỏi thêm là nếu mình muốn sửa thi sửa ntn a?