Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-07-2008, 13:37   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[qualsiasi]ciclare fra due matrici/griglie per confronto

Ciao a tutti

Ho due griglie:

1) la prima, recupera i dati da un file e viene popolata, quindi, non conosco a priori il numero di righe che può contenere.

2) la seconda invece, viene popolata in base a ciò che scelgo sulla prima.

Per fare un esempio, diciamo che la griglia uno ha:

colonnaNumero, colonnaDescrizione
12 bla
23 bleh
78 blih


ora, io seleziono tutti e tre i valori (o uno, o solo due) e li aggiungo nella griglia 2.

Quello che devo evitare, è di permettere che venga inserito nella griglia 2, un elemento di griglia uno già scelto (per esempio due "numeri" 12).

come posso ciclare fra le due griglie in modo da dire:

per ciascuna riga di griglia uno, alla colonnaNumero, se il valore è già stato messo in griglia 2 non lo mettere ?


Grazie

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2008, 14:18   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Non puoi usare un Set?
In questo modo non dovrai controllare alcunchè ma alla fine avrai solo valori unici....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2008, 14:20   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
Non puoi usare un Set?
In questo modo non dovrai controllare alcunchè ma alla fine avrai solo valori unici....
uhm.. non ho capito

che intendi per Set?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2008, 14:21   #4
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ops...
mi sa che è stata introdotto solo dalle versione 3.5 del framework...



puoi sempre implementare qualcosa di simile con una Mappa comunque..
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2008, 14:22   #5
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
uhm.. non ho capito

che intendi per Set?
un insieme, in cui per definizione ogni elemento può essere o non presente o presente per una volta.
Non puoi avere elementi ripetuti in pratica...
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2008, 14:25   #6
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
un insieme, in cui per definizione ogni elemento può essere o non presente o presente per una volta.
Non puoi avere elementi ripetuti in pratica...
Ah ecco

Credo di no, sono argomenti ancora troppo avanti per me, mi servirebbe qualcosa di più "for" newbie
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2008, 14:29   #7
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
comunque se devi semplicemente controllare che la riga non sia già stata inserita basterebbe usare una Mappa in questo modo + o -:
Quote:
Dictionary <int, Row> map = new Dictionary<int, Row>();
In questo modo puoi inserire direttamente gli oggetti senza controllare dato che alla fine ti ritroverai comunque solo una riga per ogni chiave....
in pratica se tu inserisci 5 volte la riga rappresentata dalla chiave 12 e 3 volte quella rappresentata dalla chiave 11 alla fine nel Dictionary avrai queste due coppie chiave valore: [11, riga11] [12, riga12].
Che dovrebbe essere quello che ti serve se non ho capito male..
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 17:28   #8
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
TigerShark.. non menarmi... e se non potessi usare un dizionario? (uno dei motivi potrebbe essere che ho a che fare con un linguaggio che non li supporta) ?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 18:06   #9
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quindi ti stai chiedendo, a parte le caratteristiche fornite da un particolare linguaggio o framework, in che modo puoi evitarlo? Be', o inserisci tutto indistintamente e alla fine elimini le ripetizioni, o controlli con un metodo apposito che il dato non sia stato già inserito (nel caso in cui lo trovi già nella griglia, non fare niente, in caso contrario inseriscilo). Almeno, questi due metodi mi vengono in mente così, sul momento. Il primo però potrebbe sprecare un quantitativo enorme di memoria se gli input sono molto grandi o con molte ripetizioni, il secondo dovrebbe fare dei cicli ad ogni inserimento e sarebbe potenzialmente molto più lento (sempre nel caso di grossi input).

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 18:20   #10
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
TigerShark.. non menarmi... e se non potessi usare un dizionario? (uno dei motivi potrebbe essere che ho a che fare con un linguaggio che non li supporta) ?
se le chiavi sono numeriche allora ti crei un array di booleani in cui metti a true l'indice corrispondente alla chiave.
In pratica dovresti fare qualcosa del genere:
Codice:
bool[] controlArray = new bool(maxIndex);
List<Row> result = new List<Row>();
for (int i = 0; i < matrix.length; i++) {
    key = matrix[i][0];
    if (!controlArray[key]) {
        result.Add(matrix[i]);
        controlArray[key] = true;
    }
Questo è il metodo + efficiente che mi viene in mente senza usare un dictionary e supponendo un valore finito per la chiave e che la chiave parta da zero.
Se la chiave parte da uno basta aggiungere uno alla dimensione del control array.
Almeno gli array di booleani li puoi utilizzare?
Comunque,scherzi a parte, dimmi se non è chiara qualcosa

EDIT: ovviamente ho fatto l'esempio col for per comodità, ma funziona tranquillamente con il while se non sai a priori quante righe hai nella matrice perchè la stai leggendo da file...
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 18:42   #11
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Grazie mille

Più che altro la mia situazione è questa:

Due griglie:

Dalla prima devo aggiungere valori sulla seconda, che quindi, inizialmente avrà un numero di righe pari a zero. Man mano che aggiungo i valori presi dalla prima griglia nella seconda griglia, devo verificare appunto che non siano già presenti.

Ora provo a ragionare sul tuo esempio

Grazie.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 18:51   #12
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
nel mio esempio la prima griglia sarebbe matrix mentre la seconda griglia sarebbe result, che inizialmente è vuota
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 19:02   #13
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
se le chiavi sono numeriche allora ti crei un array di booleani in cui metti a true l'indice corrispondente alla chiave.
Perché non c'ho pensato?

__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2008, 19:11   #14
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Allora, per C e per VB.Net il tuo codice purtroppo è intraducibile
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2008, 01:56   #15
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Allora, per C e per VB.Net il tuo codice purtroppo è intraducibile

veramente lo puoi scrivere anche in assembly..
com'è che non riesci a scriverlo in VB.NET?
quale problema incontri?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2008, 12:09   #16
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi

veramente lo puoi scrivere anche in assembly..
com'è che non riesci a scriverlo in VB.NET?
quale problema incontri?
Nessuno TigerShark, almeno, nessun problema che non abbia me COME problema


Il fatto è che mi rendo conto che andare a tentoni non porta a nulla di buono

Mi mancano proprio le basi... chissà se un giorno potrò permettermi di andare all'università o fare dei corsi, perchè 'studiare' su internet, almeno per me, risulta molto dispersivo
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
Rocket Lab acquisisce Iridium: nasce un ...
Una ventola nascosta e un design fuori d...
Display e fotocamera insieme: a Zurigo n...
Lenovo Idea Tab Plus, il tablet per stud...
Un ingegnere di AMD ha riprodotto in cas...
SanDisk Optimus cresce con nuovi SSD cer...
Loongson contro Intel e AMD: dalla Cina ...
Australia, quasi tutti gli under-16 aggi...
Oltre 1.300 miliardi di dollari per la p...
Un nuovo studio mette in dubbio la natur...
Crisi Volkswagen, torna l'ipotesi cessio...
Il CERN spegne il Large Hadron Collider:...
Stranger Than Heaven avrà una storia mol...
Il futuro prezzo di PS6 preoccupa i gioc...
AMD Ryzen 10000 sempre più vicini...
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:09.


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