| 
 | 
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  |  
  | 
|