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...
SpaceX non lancerà più Sta...
EHA Reader Awards 2026: i migliori prodo...
NVIDIA ha insegnato all'IA a ricostruire...
Rimosso un raro tumore grazie alla simul...
ASUS alza l'asticella del gaming: ecco i...
I satelliti Rassvet (Starlink russo) di ...
AMD stravince la sua stessa sfida sull'e...
Novità per Renault 5: più ...
Altman ammette: "Troppo ambiziosi s...
Grazie al radiotelescopio ALMA c'è...
Estensioni per browser e shadow AI sono ...
ASUS ROG punta sugli eSport con OLED da ...
Un chip più piccolo e un package ...
Windows 11, la DLL della memoria unifica...
Arrivano i nuovi Mac mini e Mac Studio c...
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: 03:40.


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