//đề bài: Tính S(n) = 1 + x^2/2! + x^4/4! + ... + x^2n/(2n)!
#include < iostream>
#include < cmath>
using namespace std;
int giaithua (int n, int tich);
int main()
{
//khai bao bien
float x=0, n=0;
float mauso =1, phanso=0, tong =0;
//nhap bien
cout << "Nhap x = " ;
cin >> x;
cout << endl;
cout << "Nhap n = ";
cin >> n;
cout << endl;
//dung vong lap
for (int i =2; i< 2*n+1; i+=2)
{
mauso = giaithua(i);
phanso = pow(x,i)/mauso;
tong += phanso;
}
//in ra man hinh
cout << "S(n) = " << tong +1 << endl;
return 0;
}
int giaithua(int n =0,tich =1 )
{
for (int i =1; i<n+1; i++)
{
tich *=i;
}
return tich;
}
Lỗi: too few arguments to function int(giaithua)
Hàm giai thừa bạn nhập 2 giá trị trong khi
bạn chỉ khai báo có 1.
Mình nghĩ ở hàm giai thừa bạn nên khai báo như sau:
int giaithua(int n)
{
int tich=1;
for(int i=0;i<n+1;i++)
{
tich*=i;
}
}
1 Like
Function gồm 2 tham số, trong khi gọi hàm thì lại chỉ truyền vào có một?
1 Like
Dùng tham số mặc định thì chỉ có thể gán giá trị mặc định trong prototype.
Với lại nên bỏ tham số tich
.
1 Like