Witam
Działający kod zamieszczam poniżej.
Pierwszym błędem było stworzenie tablic o rozmiarze d ( kompilowałem pod MSVC). Jako ,że d nie jest stałą wartością to nie przechodzi, dlatego zalokowałem obie tablice dynamicznie.
Drugim było użycie takich samych nazw dla tablicy i funkcji - kompilator nie ogarnia o co Tobie chodzi, dlatego zmieniłem nazwę tego drugiego.
#include <iostream>
using namespace std;
int d;
int obliczSilnie(int n)
{
if (n == 1) return 1;
else return obliczSilnie(n - 1)*n;
}
int main()
{
cin >> d;
if (d <= 30 && d >= 1)
{
int* n = new int [d];
int* silnia = new int[d];
for (int i = 0; i < d; i++)
{
cin >> n[i];
silnia[i] = obliczSilnie(n[i]);
}
for (int i = 0; i < d; i++)
{
cout << "Silnia " << i + 1 << " liczby rownna sie:" << silnia[i];
}
}
else cout << "eee nope";
return 0;
}