Chciałem napisać program liczący silnie podanej liczby, ale nie do końca mi to wyszło. Tutaj listing programu:
#include
using namespace std;
int main()
{
int i, n, t[n];
int iloczyn=0;
cout<<"Podaj liczbe ktorej chcesz obliczyc silnie\m";
cin>>n;
for(i=1; i<=n; i++)
{
t[i]=i;
}
for(i=1; i<=n; i++)
{
iloczyn*=t[i];
}
cout<
system("pause");
}
Tablica jest poprawnie zapełniana liczbami ale problem mam z mnożeniem wszystkich elementów. Wyrażenie iloczyn*=t _ ; _, zawsze zwraca wartość 0. Mógłbym mi ktoś napisać co jest nie tak?
Niewiele kompilatorów to skompilują (tylko gnu i mingw). Ale jeżeli już skompiluje to przydzieli tablice t na n elementów z tym że w n w tym momencie są jakieś śmieci, o ile nie zabraknie pamięci i później wprowadzona wartość n nie okaże się większa niż te śmieci które w niej byli to będzie działać. Ale chyba za dużo tych jeżeli …