Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-02-2012, 21:50   #1
alessandrom
Member
 
L'Avatar di alessandrom
 
Iscritto dal: Aug 2005
Città: MB
Messaggi: 126
[C++] Forward iterator in array bidimensionali

Ciao a tutti,
sto facendo altre prove con c++ e ho implementato una classe per rappresentare una matrice. in questa classe ho messo due strutture dati che si comportano come una lista di liste:

Codice:
struct colonna{
int indicecolonna;
colonna *next;
};

struct riga{
int indiceriga;
colonna *colonne;
riga* next;
};
mi piacerebbe realizzare un forward iterator in grado di scorrere la matrice da sinistra verso destra, e dall'alto verso il basso, ma non trovo materiale/spiegazioni adeguati.

Potreste darmi una mano?

PS
Non posso cambiare implementazione, voglio solo sapere se così è possibile realizzare o no un fwd iterator.
alessandrom è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2012, 23:55   #2
__ZERO_UNO__
Member
 
L'Avatar di __ZERO_UNO__
 
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
Per caso, la sparo lì, devi implementare una classe che si chiama SparseMatrix?
lol....

Se googli sparse matrices trovi tonnellate di materiale.

PS
Dai una occhiata al sparse matrices compressed row storage.
__________________

AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB
Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX
Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200

Ultima modifica di __ZERO_UNO__ : 04-02-2012 alle 00:02.
__ZERO_UNO__ è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2012, 10:35   #3
alessandrom
Member
 
L'Avatar di alessandrom
 
Iscritto dal: Aug 2005
Città: MB
Messaggi: 126
Ciao, grazie per il link, ma volevo sapere se era possibile realizzare un iteratore con l'implementazione che già ho a disposizione.
alessandrom è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2012, 14:11   #4
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Il problema di base e' che l'implementazione che hai scelto e' poco pratica (liste di liste ? meglio un array di array o un unico array) e sbagliata (dove salvi il valore della cella A(i,j)?)
In ogni caso l'iteratore lo puoi fare, sara' una struttura che contiene un riferimento tanto alla riga corrente quanto alla colonna corrente.
Quando lo fai avanzare procedi lungo la colonna corrente, quando arrivi alla fine avanzi di uno sulla riga corrente e riparti
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2012, 16:18   #5
alessandrom
Member
 
L'Avatar di alessandrom
 
Iscritto dal: Aug 2005
Città: MB
Messaggi: 126
Ciao marco, grazie per la risposta.

Oggi pomeriggio sono riuscito a fare l'iteratore della lista di liste.
Il problema però è dato dal fatto che non posso definire l'operatore ==, perchè per come l'ho implementato io l'iteratore genera "al volo" una struct contenente coordinate e valore.

Ogni volta che io chiamo begin, end o ++, non viene riutilizzata la stessa struct, ma se ne crea una nuova, anche per lo stesso elemento.

E' corretto oltre a confrontare l'indirizzo confrontare anche i contenuti per vedere se le strutture si riferiscono effettivamente allo stesso identico elemento? (Le strutture contengono i dati dell'elemento, non l'elemento stesso com'è memorizzato nella matrice)
La consegna dell'esercizio dice che l'iteratore deve ritornare delle struct che contengono coordinate e dato memorizzato, ma non dice che devono essere usate anche per realizzare la classe matrice in sè.

Ultima modifica di alessandrom : 04-02-2012 alle 16:25.
alessandrom è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Amazon Haul, sconto del 15% su almeno 2 ...
Quasi il 90% degli sviluppatori di video...
Future Studies di Luca Locatelli in most...
ASUS ha lanciato il suo primo Mini PC co...
HillMiles MileCity1 torna disponibile a ...
Nel 2028 sarà lanciata la mission...
Un materiale rigido come pochi, ma isola...
Intel: fine delle ricompense fino a 100....
Un problema alle turbopompe potrebbe ral...
Jensen Huang, NVIDIA: 'Nel 2030 non fini...
PC rincondizionato Lenovo ThinkStation a...
Il Neural Rendering di DLSS 5 gira (male...
AMD Radeon RX 9050 4GB, ecco quanto perd...
Factorio è certificato Steam Frame: la b...
TECLAST ArtPad è attualmente il m...
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: 09:51.


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