Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-12-2008, 09:55   #1
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
[c++]Array grandi dimensioni

Ciao a tutti,

sono nella situazione di dover eseguire delle elaborazioni partendo da un file txt di grosse dimensioni.

Se limito il numero di righe il tutto viene eseguito, ma appena tanto di ricaricare il file nel suo intero, il programma salta.

Non sono un'esperto, ma penso che sia un limite della memoria, come ad esempio succede facendo girare il seguente programma:

#include <iostream>
using namespace std;

int main()
{
//Dimensioni degli array
int a=1000;
int b=1000;
//Array
double c[a][b];
}

C'è un modo per far "accettare" al programma matrici di dimensione elevate?

Vi ringrazio immensamente

Ah, dimenticavo, uso Code:Blocks sotto xp!

Ultima modifica di Mattiatn : 29-12-2008 alle 09:58.
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2008, 11:01   #2
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
bhe finche non dicharerai come costanti quei due interi dubito che compilera, inoltre per fare questo giochino ti consgilio di rivolgerti alla stl con i suoi contenitori (Vector e List mi sembrano i più appropriati)
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2008, 11:03   #3
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Ti dà errore perchè così facendo tenti di creare una matrice 1000X1000 nello stack, che purtroppo è molto piccolo. Quello che devi fare è usare l'heap e quindi l'operatore new:
Codice:
#include <iostream>

using namespace std;

int main(int argc, char ** argv) {

//Dimensioni degli array
const int a=1000;
const int b=1000;

//Allocazione dell'array
double **c = new double*[a];
for(register int i=0; i<a; i++)
	c[i] = new double[b];

//Usi c[a][b] come ti pare

//Deallocazione
for(register int i=a-1; i>=0; i--)
	delete [] c[i];
delete [] c;
}
Questo è uno dei tanti modi per usare una matrice di double. Ma secondo me ti converrebbe usare un vector di vector e overloadare l'operatore [ ].
Non prendere per oro colato quello che dico perchè sono un super niubbino del c++

Ciauz
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2008, 11:15   #4
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
Scusami Don se abuso della tua disponibilità e pazienza, non è che potresti postarmi (sempre se lo hai lì a disposizione) qualche link di documenti che parlano di stack e heap?

L'ultima fase, quella di deallocazione, suppongo quindi che serva a cancellare quello scritto in heap, ma nel mezzo (//Usi c[a][b] come ti pare), posso fare molte altre operazioni o vi sono limitazioni (tenendo conto che l'unico array di grande dimensioni che vado ad utilizzare io sarebbe c).

Inoltre è possibile effettuare due allocazioni di questo tipo (ovvero 2 matrici).

Spero di essermi spiegato bene, e ti ringrazio nuovamente per la risposta
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2008, 12:31   #5
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da Mattiatn Guarda i messaggi
Scusami Don se abuso della tua disponibilità e pazienza, non è che potresti postarmi (sempre se lo hai lì a disposizione) qualche link di documenti che parlano di stack e heap?

L'ultima fase, quella di deallocazione, suppongo quindi che serva a cancellare quello scritto in heap, ma nel mezzo (//Usi c[a][b] come ti pare), posso fare molte altre operazioni o vi sono limitazioni (tenendo conto che l'unico array di grande dimensioni che vado ad utilizzare io sarebbe c).

Inoltre è possibile effettuare due allocazioni di questo tipo (ovvero 2 matrici).

Spero di essermi spiegato bene, e ti ringrazio nuovamente per la risposta
puoi farci quello che ti pare, e cosa più importante lo puoi riallocare a una nuova dimensione, e puoi allocarni quanti te ne pare, l'unica limitazione è la memoria di sistema
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2008, 12:40   #6
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Come ti ho gia detto sono super niubbino in c++. Ho appena cominciato a studiarlo giusto perchè ho l'esame a febbraio quindi le mie conoscenze si fermano (per ora) ai ricordi delle lezioni in uni...Mi dispiace non esserti di maggiore aiuto Cmq dai un occhio a stl come dice il buon wizard

ciauz
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2008, 16:58   #7
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da Don[ITA] Guarda i messaggi
Come ti ho gia detto sono super niubbino in c++
idem io; quindi non so su chi possa fare più affidamento fra me e te
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
L'Etiopia vieta le auto a combustione: a...
Pirateria audiovisiva: la Guardia di Fin...
Ubisoft conferma due nuovi Far Cry in sv...
Chi vincerà il Festival di Sanrem...
G42 e Cerebras portano in India un super...
Offerte aggiornate del weekend Amazon: 7...
4 MacBook Air in offerta e scende a 939€...
Chrome cambia il tuo modo di lavorare: o...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
Xbox: Phil Spencer lascia dopo 38 anni, ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v