Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
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: 12112
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


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
La luce arriva distorta ma il messaggio ...
AWS e Oracle rafforzano la collaborazion...
Meta, 18 miliardi di dollari per chiuder...
In Toscana c'è l'autovelox IA che...
WhatsApp migliora la verifica in due pas...
Sony svela Xperia 10 VIII, uguale al mod...
AMD ha appena confermato il futuro (prev...
HONOR Magic V6 conquista il premio EISA:...
Rockstar commenta i leak di GTA 6 e conf...
Dubai VDX: così nasce il primo ve...
LG lancia il primo monitor Full HD da 10...
Volvo Cars, nuovo CTO: arriva Alexander ...
Metro 2039 torna ad essere protagonista ...
Final Fantasy 7 Revelation si mostra in ...
Leapmotor taglia l’utile 2026 del 40%: r...
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: 19:57.


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