Cześć, jestem całkiem nowy w programowaniu. Mam zadanie, Program dziala, jednak podczas kompilacji na końcu wychodzi(po wyniku) *** stack smashing detected ***: <unknown> terminated
Czy ktoś wie dlaczego?
Input
n - liczba testów n<100000, w kolejnych liniach n liczb z przedziału [1..10000]
Output
Dla każdej liczby słowo TAK, jeśli liczba ta jest pierwsza, słowo: NIE, w przeciwnym wypadku.
Przykład:
Input:
3
11
1
4
Output:
TAK
NIE
NIE
Moj kod:
#include <stdio.h>
int main()
{
int liczbaTestow, liczbaInput, i, j;
int arr[] = { 0 };
i = 0;
printf("Podaj liczbe testow, max do 10000! = ");
scanf("%d", &liczbaTestow);
if (liczbaTestow < 10000) {
for (i = 0; i < liczbaTestow; i++) {
printf("Podaj liczbe: ");
scanf("%d", &liczbaInput);
if (liczbaInput % 2 == 0 || liczbaInput % 3 == 0 || liczbaInput % 5 == 0 || liczbaInput % 7 == 0)
arr[i] = 0;
else
arr[i] = 1;
}
for (j = 0; j < liczbaTestow; j++) {
if (arr[j] == 1)
printf("TAK\n");
else if (arr[j] == 0)
printf("NIE\n");
}
}
else
printf("ponad 10000");
return 0;
}
Dzięki