|
|
back to board"runtime error (access violation)" #include <stdio.h> #include <math.h> #include <stdlib.h> #define SIZE 1024 int main(void) { unsigned long long int *buffer = \ (unsigned long long int *) malloc(sizeof(unsigned long long int) * SIZE); int i = 0;
while (scanf("%llu", &buffer[i]) > 0) i++;
for(i -= 1; i >= 0; i--) printf("%.4f\n", sqrt(buffer[i]));
return 0; } У меня всё работает, на тестовых данных выдаёт правильный результат. В чём косяк? Edited by author 14.02.2017 15:27 Re: "runtime error (access violation)" > #define SIZE 1024 Number is wrong. Max input size is much bigger. Re: "runtime error (access violation)" Пробовал и большие числа туда вписывать. Всё равно не работает. Точнее, оно работает, но у меня на компе.. а вот на сайте проверку не проходит Re: "runtime error (access violation)" > и большие числа Which one? How did you estimate max input size? By task, max input size is 256K bytes . Assuming 2 bytes per number - "1 " - max input size is 128K numbers. Btw, why raw C? Why not C++ with stl containers? Edited by author 15.02.2017 12:38 Re: "runtime error (access violation)" > Btw, why raw C? Why not C++ with std containers? Не интересует С++ с его чрезмерной сложностью и нагромождением какой-то невероятной кучи всякого-разного :) Мне как-то больше по душе чистый и простой С. А задачу, кстати, всё-таки решил. Действительно, нужно было просто сильно увеличить размер массива. Я сделал #define SIZE 10241024. Большое спасибо за помощь! Edited by author 15.02.2017 12:42 |
|
|