Я работаю на Hacker earth и продолжаю получать ошибку времени выполнения SIGFPE, теперь нужно FIX. Мне нужно рабочее решение, я попробовал немного обойтись без удачи. Я всегда получаю ошибку времени выполнения SIGFPE, когда я отправляю ее (местный сайт практики программирования).
Мой код указан ниже:
#include <stdio.h>
long long int
checkRange(long long int result, int start, long long int end)
{
do {
//printf("Invalid data range.\n Please enter the value between %d and %lld: ",start,end);
scanf("%lld", &result);
} while (result < start || result > end);
return result;
}
long long int
getMinvalue(long long int elementarray[], int count)
{
long long int min;
int i = 0;
for (i = 0; i < count; i++) {
if (i == 0) {
min = elementarray[i];
}
else if (elementarray[i] < min) {
min = elementarray[i];
}
}
return min;
}
int
main()
{
int i = 0;
long long int eCount = 3, result, min;
static long long int maxrange = 1000000000000000000;
//printf("please enter the candy type count:");
//scanf("%lld",&eCount);
if (eCount < 1 || eCount > 100) {
eCount = checkRange(eCount, 1, 100);
}
long long int a[eCount], bagsize;
for (i = 0; i < eCount; i++) {
//printf("please enter candy %d value :",i);
scanf("%lld", &a[i]);
if (a[i] < 1 || a[i] > maxrange) {
a[i] = checkRange(a[i], 1, maxrange);
}
}
//printf("please enter bagsize: ");
scanf("%lld", &bagsize);
if (bagsize < 1 || bagsize > maxrange) {
bagsize = checkRange(bagsize, 1, maxrange);
}
min = getMinvalue(a, eCount);
result = (min * eCount) / bagsize;
printf("%lld", result);
return 0;
}