mình cũng chưa hiểu ý bạn muốn giúp về vấn đề gì nữa ???
nếu là thiết kế hàm pow thì gg thiếu gì
example: http://www.cplusplus.com/forum/general/105507/
có lẽ bạn chưa hiểu kĩ về lệnh return rồi , return là 1 cú pháp lệnh để trả về dữ liệu , nó có thể đặt trong for , chỉ cần đặt điều kiện trong for là return được r
Có lẽ bạn chưa hiểu rõ câu trả lời của mình rồi, mình không nói là nó không thể đặt trong for mà là chương trình của bạn ấy viết return ở đó là không hợp lí.
Cứ viết đúng hàm luythua cái đã. Muốn in ra giá trị trong hàm thì
for (int i=0; i<n; i++) t *= a;
cout << t << endl;
return t;
Cái sai của bạn là chưa chạy đủ n vòng for, mới ngay lần chạy đầu tiên mà đã return t ngay trong vòng for -> nó trả ngay giá trị mới nhân lần đầu (t^1).
Của bạn viết là hàm tính giai thừa rồi. Return không đươc đăt trong vong lăp for
Code:
double luythua(double a, int n)
{
double t;
int i;
t=1;
for (i=1;i<=n;i++)
{
t=t*a;
}
return t;
}
hàm chứ ko phải mảng nha mn!
mình cũng chưa hiểu ý bạn muốn giúp về vấn đề gì nữa ???
nếu là thiết kế hàm pow thì gg thiếu gì
example: http://www.cplusplus.com/forum/general/105507/
Hi Vinh.
Hàm lũy thừa viết sai.
Return ở cuối chương trình chứ không phải ở trong for bạn nhé
For cũng sai luôn…
minh đang học gọi hàm thoi ạ!
sai chỗ nào anh ,
return phải ở cuối cùng hàm chứ, sao lại cho trong vòng for thế kia !!!
return để ra t mà các anh ,cuối hàm thì return 0 đó
Bạn đọc lại đoạn code đó rồi chạy bằng tay xem sao
sau return là kết thúc hàm, bác vừa chạy vòng lặp đc 1 lần là kết thúc luôn đấy
thế muốn lấy giá trị của t thì làm sao ạ
có lẽ bạn chưa hiểu kĩ về lệnh return rồi , return là 1 cú pháp lệnh để trả về dữ liệu , nó có thể đặt trong for , chỉ cần đặt điều kiện trong for là return được r
Có lẽ bạn chưa hiểu rõ câu trả lời của mình rồi, mình không nói là nó không thể đặt trong for mà là chương trình của bạn ấy viết return ở đó là không hợp lí.
Cứ viết đúng hàm luythua cái đã. Muốn in ra giá trị trong hàm thì
Cái sai của bạn là chưa chạy đủ n vòng for, mới ngay lần chạy đầu tiên mà đã return t ngay trong vòng for -> nó trả ngay giá trị mới nhân lần đầu (t^1).
Của bạn viết là hàm tính giai thừa rồi. Return không đươc đăt trong vong lăp for
Code:
double luythua(double a, int n)
{
double t;
int i;
t=1;
for (i=1;i<=n;i++)
{
t=t*a;
}
return t;
}