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 ạ!

1 Like

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.

3 Likes

IND có thể là IND is the representation of NaN ( Not a Number ).trong hàm Pow (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.

3 Likes

Vậy cho mình hỏi thêm là nếu mình muốn sửa thi sửa ntn a?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?