Создать массив из 1 000 000 000 и более элементов, а потом заполнить и вывести его - C (СИ)

Узнай цену своей работы

Формулировка задачи:

создаю массив, и все идет нормально
#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]);
    }
и до 100 000 000 все также работает нормально, но для числа побольше, например 1 000 000 000 после a[i] = rand()%20; возникает необработанное исключение а если убрать заполнение, то с printf("%llu ", a[i]); та же история. Что я делаю не так? Как создать массив из 1 000 000 000 и более элементов , а потом заполнить и вывести его? Буду очень благодарен любым вашим ответам.

Решение задачи: «Создать массив из 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]);
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы