Создать массив из 1 000 000 000 и более элементов, а потом заполнить и вывести его - C (СИ)
Формулировка задачи:
создаю массив, и все идет нормально
затем заполняю его и вывожу
и до 100 000 000 все также работает нормально, но для числа побольше, например 1 000 000 000
после a[i] = rand()%20; возникает необработанное исключение
а если убрать заполнение, то с printf("%llu ", a[i]); та же история.
Что я делаю не так?
Как создать массив из 1 000 000 000 и более элементов , а потом заполнить и вывести его?
Буду очень благодарен любым вашим ответам.
#include <stdio.h> #include <malloc.h> #include <stdlib.h>
int main(void)
{
unsigned long long n;
unsigned long long *a;
scanf_s("%llu", &n);
unsigned long long e=n;
a = (unsigned long long*)malloc(n*sizeof(unsigned long long) );
return 0;
}for (unsigned long long i = 0; i < n; i++)
{
a[i] = rand()%20;
}
for (unsigned long long i = 0; i < n; i++)
{
printf("%llu ", a[i]);
}Решение задачи: «Создать массив из 1 000 000 000 и более элементов, а потом заполнить и вывести его»
textual
Листинг программы
for (unsigned long long i = 0; i < n; i++)
{
a[i] = rand()%20;
}
for (unsigned long long i = 0; i < n; i++)
{
printf("%llu ", a[i]);
}