Простой C ++ скрипт — Factorial — Ошибки

Я изучаю C ++. Вот кодовый счет факториала (силния). Личба означает число.

#include <iostream>

using namespace std;

int _main()
{
int silnia;
int n;
if (n == 0) return 1;
else;
return n * silnia(n-1);

int liczba;
cout << "Podaj liczbe: ";
cin >> liczba;
cout << liczba << "! = " << silnia(liczba) << endl;
return 0;
}

Однако я все еще становлюсь сообщением об ошибке

main.cpp: In function 'int _main()':
main.cpp:9:20: error: 'silnia' cannot be used as a function
return n*silnia(n-1);
^
main.cpp:14:42: error: 'silnia' cannot be used as a function
cout << liczba << "! = " << silnia(liczba) << endl

В чем может быть проблема?

0

Решение

удалите эту часть из вашего основного:

 int silnia;
int n;
if (n == 0) return 1;
else;
return n * silnia(n-1);

поставить эту функцию за пределы основной функции

 int silnia(int a)
{
if(a==0) return 1;
else return silnia(a-1)*a;
}
1

Другие решения

silnia(liczba)

Похоже, вы пытаетесь «вызвать» целое число silnia, Именно то, что говорит ваше сообщение об ошибке. Я не уверен, что вы пытаетесь сделать в этой строке.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector