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

FilippoDalla

Nuovo Utente
30
1
CPU
i5 4690k
Dissipatore
Enermax LiqMax II
Scheda Madre
MSI Z97S Sli Krait Edition
GPU
MSI GTX 750ti
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 Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
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
CPU
i5 4690k
Dissipatore
Enermax LiqMax II
Scheda Madre
MSI Z97S Sli Krait Edition
GPU
MSI GTX 750ti
Audio
Asus Xonar u7
potresti dirmi per cortesia il secondo metodo ? come dovrei dichiararlo l'array nell'head?
 

rodhellas

Utente Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
Windows 10 64bit
Conosci i puntatori e l'allocazione dinamica della memoria?
 

FilippoDalla

Nuovo Utente
30
1
CPU
i5 4690k
Dissipatore
Enermax LiqMax II
Scheda Madre
MSI Z97S Sli Krait Edition
GPU
MSI GTX 750ti
Audio
Asus Xonar u7
no sono tutto orecchie
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,222
1,853
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
In C++ puoi fare in questo modo:

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

FilippoDalla

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

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili