01/10/2018, 11:04

Lỗi: too few arguments to function int(giaithua). ai giúp em với ạ

 //đề 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;
}
I Am Groot viết 13:17 ngày 01/10/2018

int giaithua(int n =0,tich =1 )

Hàm giai thừa bạn nhập 2 giá trị trong khi[quote=“Viet_Hung_Vu, post:1, topic:52579”]
mauso = giaithua(i);
[/quote]

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;
      }
}
Quang Minh viết 13:13 ngày 01/10/2018

int giaithua (int n, int tich);

Function gồm 2 tham số, trong khi gọi hàm thì lại chỉ truyền vào có một?

rogp10 viết 13:13 ngày 01/10/2018

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.

Bài liên quan
0