Ваша факторная функция не заканчивается на одну, она просто повторяется бесконечно.
int factorial(int set_number)
{
if (set_number <= 1)
return 1;
return set_number * factorial(set_number - 1);
}
Ваш стиль кодирования также довольно плохой, он выглядит очень C-like. Нет необходимости определять факториал и комбинацию после main, и вы объявляете все свои переменные вверху, никакие объявления и инициализации не смешиваются?
Кроме того, ваша основная функция на самом деле не выполняет то, о чем говорится в спецификации - вы никогда не инициализировали и не присваивали переменную комбинаций и не называли функцию комбинации, ваши переменные ужасно названы и т. Д. Но это ваша домашняя работа, а не мой.