DOMANDA Numero Massimo "caselle" Array [c++]

FilippoDalla

Nuovo Utente
30
1
Hardware Utente
CPU
i5 4690k
Dissipatore
Enermax LiqMax II
Scheda Madre
MSI Z97S Sli Krait Edition
Scheda Video
MSI GTX 750ti
Scheda Audio
Asus Xonar u7
Salve a tutti utenti del forum, volevo chiedere una delucidazione sugli array.
ho provato a impostare un numero enorme come numero delle caselle dell'array (quello che sta tra le parentesi quadre per capirci )

es:
int Array[600000];

facendo così il programma crasha , ma se invece metto 500000 al posto di 600000 il programma funziona tranquillamente ..

In conclusione la mia domanda è questa : perché c'è questo limite e come si può aumentare ?
mi serve saperlo perché ho fatto un programma che individua tutti i numeri primi e volevo vedere fino a che punto il mio pc non riusciva più ad andare avanti ;) il fatto è che arriva abbastanza facilmente a trovare l'ultimo numero primo (1000003, che è appunto il 500000esimo numero primo)

grazie in anticipo
 

rodhellas

Utente Attivo
1,477
395
Hardware Utente
CPU
Intel i5 3470
Scheda Madre
AsRock H77 pro4/mvp
Hard Disk
120GB SSD + 1TB HD
RAM
12GB Corsair XMS3 1333mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Thermaltake Commander Ms-i Snow Edition
Sistema Operativo
Windows 10 64bit
Superi la dimensione massima dello stack, credo. Potresti o aumentarla da riga di comando, o provare a spostare l'array nell'heap (malloc e compagnia bella)
 

FilippoDalla

Nuovo Utente
30
1
Hardware Utente
CPU
i5 4690k
Dissipatore
Enermax LiqMax II
Scheda Madre
MSI Z97S Sli Krait Edition
Scheda Video
MSI GTX 750ti
Scheda Audio
Asus Xonar u7
potresti dirmi per cortesia il secondo metodo ? come dovrei dichiararlo l'array nell'head?
 

rodhellas

Utente Attivo
1,477
395
Hardware Utente
CPU
Intel i5 3470
Scheda Madre
AsRock H77 pro4/mvp
Hard Disk
120GB SSD + 1TB HD
RAM
12GB Corsair XMS3 1333mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Thermaltake Commander Ms-i Snow Edition
Sistema Operativo
Windows 10 64bit
Conosci i puntatori e l'allocazione dinamica della memoria?
 

DispatchCode

Utente Attivo
593
342
Hardware Utente
CPU
Intel i7 6700HQ, 2.60Ghz, 4 core 8 threads
Scheda Madre
Asustek
Hard Disk
Hitachi 7200 rpm, 1TB
RAM
16GB DDR4 (2 slot su 4)
Scheda Video
Nvidia Geforce GTX 960M, 4GB
Scheda Audio
Realtek
Sistema Operativo
Windows 10 64bit
In C++ puoi fare in questo modo:

Codice:
int* array = new int[600000];
 

FilippoDalla

Nuovo Utente
30
1
Hardware Utente
CPU
i5 4690k
Dissipatore
Enermax LiqMax II
Scheda Madre
MSI Z97S Sli Krait Edition
Scheda Video
MSI GTX 750ti
Scheda Audio
Asus Xonar u7
grazie a tutti , il metodo di DispatchCode funziona alla grande .. grazie!
 

Entra

oppure Accedi utilizzando