Program na obliczanie silni z tablic źle działa

0

Witam, zwracam się z prośbą o pomoc w znalezieniu błędu w kodzie programu w C++ na obliczanie 1000! przy użyciu tablic. Program bowiem zwraca bezsensowną wartość, i to zawierającą ujemne cyfry. Algorytm natomiast raczej jest w porządku.

#include <iostream>

using namespace std;

int main()
{
	const int liczba = 2800;
	int tab[liczba];
	tab[liczba - 1] = 1;
	int n, act, i;							
										
	for (n = 2; n <= 1000; n++)
	{									
		act = 0;
		for (act = 0, i = liczba - 1; i > 0; i--)
		{
			act += n * tab[i];
			tab[i] = act % 10;
			act /= 10;
		}
	}
	int licz = 0;
	for (licz; tab[licz] == 0; licz++);
	cout << "1000! = ";
	while (licz <= liczba - 1)
	{
		cout << tab[licz];
		licz++;
	}
	cout << endl;
	
	return 0;
} 
1

Nie inicjalizujesz tablicy.

1

Debuger w dłoń i klikaj krok po kroku aż odkryjesz czemu algorytm wcale dobry nie jest.

0

Dzięki wielkie! Po zainicjalizowaniu wszystko działa jak trzeba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1