Witam
Nie wiem czy twój program działa jak ma działać, ale problem jest tutaj:
//
int main()
{
int n, a, k, b, z, t, l;
int tab[1000][1000];
int ile[1000];
cin >> n;
//
Zmienne lokalne dla każdej funkcji zajmują pamięć na stosie. Jak widać wyżej mamy tam trochę powyżej 3000 zmiennych, co powoduje jego przepełnienie ( stack overflow). Zrób te tablice globalnymi i sprawa rozwiązana.