Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-07-2008, 21:23   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[vb.net]plz salvatemi dalla pazzia totale!

Codice:
dim s1 as string = griglia1.CurrentRow.Cells(1).Value
dim s2 as string = griglia1.CurrentRow.Cells(2).Value


If griglia2.RowCount = 0 Then

   griglia2.Rows.Add(New String() {s1, s2})

   else '(e qui per me significa: se il numero di righe NON E' ZERO!!)

   for i as integer = 0 to griglia2.rows.count - 1
       if griglia2(0, i).value = s1 then
       msgbox("Valore già presente")
       else ('e qui per me significa: se sto cacchio di valore NON C'E'!)
       griglia2.Rows.Add(New String() {s1, s2})
       end if
   next
end if
Succede questo:

la griglia2 non ha righe: funziona, mi aggiunge una riga
la griglia2 ha una riga: funziona, se il valore già c'è me lo dice e nn lo aggiunge
la griglia2 ha 2 righe: in assenza di valori uguali mi aggiunge due volte la riga proveniente dalla griglia1

la griglia2 ha più di 4 righe: mi dice che i valori già esistono, non solo, me li aggiunge anche, non solo, me li triplica per ogni riga
__________________
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, 21:46   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Be', se hai 4 elementi ed uno è quello che già avevi in partenza, gli altri tre non sono uguali a lui, e soddisfano la condizione dell'else... se trovi già inserito quel valore dovresti fermare il ciclo e non fare niente: solo alla fine di tutto il ciclo, se non avrai mai trovato quanto stai cercando, aggiungerai il valore alla griglia.
__________________

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, 21:56   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
Be', se hai 4 elementi ed uno è quello che già avevi in partenza, gli altri tre non sono uguali a lui, e soddisfano la condizione dell'else... se trovi già inserito quel valore dovresti fermare il ciclo e non fare niente: solo alla fine di tutto il ciclo, se non avrai mai trovato quanto stai cercando, aggiungerai il valore alla griglia.
ma se fermo il ciclo per non fare niente, e aggiungo il codice dopo, lui mi aggiunge la riga a prescindere, cioè, mi segnala che il valore già esiste e poi lo aggiunge lo stesso... oppure non ci sto capendo più niente
__________________
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, 22:01   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
No no, se quell'elemento esiste già, tu non hai bisogno di fare più nulla: puoi proprio uscire dal quel ciclo per sempre e provare l'inserimento con un nuovo valore.
__________________

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, 22:07   #5
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
uhm, scusami Daniele ma non riesco a capire :

Codice:
Dim s1 as string
Dim s2 as string

s1 = griglia1.RigaCorrente.Cella(1).Valore
s2 = griglia1.RigaCorrente.Cella(2).Valore

for i as integer = 0 to griglia2.Rows.Count - 1
if griglia2.Riga(i).Cella(0).Valore = s1 then
'non aggiungere, valore già presente
next

'ora, se metto qui :

griglia2.Rows.Add(New String() {s1, s2})

'dopo aver controllato lui me le aggiunge lo stesso
__________________
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, 22:13   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
L'inserimento lo devi fare dopo aver completato la ricerca, non dopo il controllo.

Te lo scrivo in pseudocodice:
Codice:
Trovato = Falso
Valore = /* elemento cercato */

Per ogni elemento X in Griglia
{
    Se (X è uguale a Valore)
    {
        Trovato = Vero
        Interrompi ciclo
    }
}

Se (Trovato == Falso)
{
    Aggiungi(Valore, Griglia);
}
__________________

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, 22:19   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
L'inserimento lo devi fare dopo aver completato la ricerca, non dopo il controllo.

Te lo scrivo in pseudocodice:
Codice:
Trovato = Falso
Valore = /* elemento cercato */

Per ogni elemento X in Griglia
{
    Se (X è uguale a Valore)
    {
        Trovato = Vero
        Interrompi ciclo
    }
}

Se (Trovato == Falso)
{
    Aggiungi(Valore, Griglia);
}
Daniele!! ma grazie!! mi hai aiutato a superare la nottata !!!

E, a ben ragionarlo, era più o meno lo stesso esempio che mi aveva fatto l'ottimo TigerShark sull'altro 3d ma che io ottusamente non avevo capito!!

Che dire, siete grandi e vi ringrazio!!!
__________________
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, 02:04   #8
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
ma se usi quest'algoritmo hai una complessità pari ad O(n * m), se non sbaglio, con n pari al numero di elementi della prima griglia ed m pari al numero di elementi diversi, che in caso di elementi tutti diversi, e nel caso peggiore, diventa o(n^2).
Con quello che ti avevo suggerito invece dovresti cavartela con una complessità O(n).
Visto che la complessità implementativa è perfettamente equivalente io userei quello con l'array di controllo, anche se, a meno di non avere centinaia di migliaia di righe, non dovresti avere grosse differenze... o meglio il tuo processore è talmente veloce che non noterai le abissali differenze di tempo di calcolo tra i due algoritmi
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
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: 01:50.


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