Пунктуация Ошибка в факториальной функции?

Я получаю следующую ошибку: Ожидается ";" в конце объявления я получаю это в строке: int factorial (int q) {

идеи?

Спасибо,

Стив

#include <iostream>
using namespace std;


int n=0;
int factorial(int q);
int combination(int i, int j);


int main() {
    cout <<"Enter n "<<endl;
    cin >>n;
    for (int i = 0; i <= n-1; i++) {
        for (int j = 0; j<=i; j++) {
            cout << combination (i, j) << endl;
        }
    }
    return 0;
}

int combination(int i, int j) {
    return factorial(i) / (factorial(j)*factorial(i-j));
    {


int factorial (int q) {
    int result = 1;
    if (q == 0) {
        result = 1;
    } else {
        for (int l=1; l <= q; l++) {
            result *=l;
        }

    }
       return result;
}

Это не будет компилироваться из-за ошибки.


person user2738727    schedule 07.09.2013    source источник


Ответы (1)


Ваша функция combination выше не закрыта должным образом - вы неправильно набрали закрывающую скобку. Так должно быть:

int combination(int i, int j) {
    return factorial(i) / (factorial(j)*factorial(i-j));
}
person Radio-    schedule 07.09.2013