Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
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.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-07-2010, 00:47   #1
© Rocky
Member
 
L'Avatar di © Rocky
 
Iscritto dal: Feb 2006
Città: Mi sono perso nello spazio...
Messaggi: 119
[Visual Basic 6] Estrarre numeri da un array

Ciao a tutti
Sarà semplice, sarà il caldo o forse la vecchiaia ma, è un po' che ci sto provando
senza venire a capo di questo problema semplicissimo.
Ho un'Array con sei numeri, (ma potrebbero essere molti di più) esempio:

Array 1
9.13.14.15.16.17

vorrei trasferire nel secondo Array solo i numeri mancanti del primo, esempio:

Array 2
10.11.12

Un grosso grazie a chi mi vorrà aiutare
__________________
Il miglior dialogo è l'intesa
© Rocky è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2010, 09:44   #2
key2710
Senior Member
 
Iscritto dal: Nov 2007
Città: Catania
Messaggi: 840
Qualora gli array siano variant e sorted (come appare dal tuo esempio)

...
Dim IndexArrayFrom as integer
...
For IndexArrayFrom = 0 to UBound(vArrayFrom)
sbLoadMissedValue(vArrayFrom(IndexArrayFrom),vArrayFrom(IndexArrayFrom+1),vArrayTo
Next
...

private sub sbLoadMissedValue(byval myStart as integer, byval myEnd as integer, byref myArrayTo as variant)
dim myTempValue as integer
myTempValue = myStart + 1

while myTempValue < myEnd
myArrayTo.add myTempValue
myTempValue = myTempValue + 1
wend
end sub


In tutti i casi il concetto è riapplicabile anche su tipi di dato diversi.
Ciao.
__________________
Trattato positivamente con : daddyxx1, vale69, Ing_Peppe
key2710 è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2010, 13:52   #3
© Rocky
Member
 
L'Avatar di © Rocky
 
Iscritto dal: Feb 2006
Città: Mi sono perso nello spazio...
Messaggi: 119
@ Key2710

anzitutto grazie per avermi risposto e proposto una soluzione

Veramente la pensavo più semplice, ora proverò e ti farò sapere.
Attualmente l'Array è Integer ma, ho provato anche con Variant senza risultati attendibili.

Il mio procedimento:
Avevo creato un ciclo For-Next dal 9 al 17 e confrontato ogni numero dell'Array 1 con il numero del ciclo For scartando i numeri uguali e aggiungendo i numeri differenti all'Array 2.

L'idea poteva anche essere giusta ma, chissà perchè i conti non mi tornavano !!!

Ciao e ancora grazie
__________________
Il miglior dialogo è l'intesa
© Rocky è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2010, 14:19   #4
key2710
Senior Member
 
Iscritto dal: Nov 2007
Città: Catania
Messaggi: 840
Quote:
Originariamente inviato da © Rocky Guarda i messaggi
@ Key2710

anzitutto grazie per avermi risposto e proposto una soluzione

Veramente la pensavo più semplice, ora proverò e ti farò sapere.
Attualmente l'Array è Integer ma, ho provato anche con Variant senza risultati attendibili.

Il mio procedimento:
Avevo creato un ciclo For-Next dal 9 al 17 e confrontato ogni numero dell'Array 1 con il numero del ciclo For scartando i numeri uguali e aggiungendo i numeri differenti all'Array 2.

L'idea poteva anche essere giusta ma, chissà perchè i conti non mi tornavano !!!

Ciao e ancora grazie
Solo per il fatto che parli ci ciclo da 9 a 17 ... già va male. Le procedure si devono scrivere ottimizzate per usi multipli. Meno costanti infili, meglio è.

Inoltre a giudicare da quello che dici forse ho capito male io il problema.

Quello che ho scritto io esamina i numeri presenti dentro un array1, attendendosi l'array1 già sorted ed infila dentro un array2 i buchi presenti dentro l'array1.

Posta il codice da te sviluppato.
__________________
Trattato positivamente con : daddyxx1, vale69, Ing_Peppe
key2710 è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2010, 16:43   #5
© Rocky
Member
 
L'Avatar di © Rocky
 
Iscritto dal: Feb 2006
Città: Mi sono perso nello spazio...
Messaggi: 119
Ciao Key,

In modulo.bas
Codice:
Public Numeri(6, 90) As Integer
Public Pri(6) As Integer
Public Ult(6) As Integer
Public A(6) As Integer
Public Ci1(6) As Integer
Public Ci2(6) As Integer
Public Fram(6) As Variant
Public Cot(6) As Integer
Public Ava(6) As Integer
Routine Numeri mancanti
Codice:
   Pri(1) = Memo(1, 1) ' Primo numero dell'array Memo(1, 1), "9"
   Ult(1) = Memo(1, Con(1)) ' Ultimo numero dell'array Memo(1, 6), "17"
  ' Array Memo = 9.13.14.15.16.17 
Lista(1).Clear: Erase Cot()

  For Ci1(1) = Pri(1) To Ult(1) ' da 9 a 17
   Fram(1) = Ci1(1)
     Cot(1) = Cot(1) + 1
      A(1) = Memo(1, Cot(1))

    For Ci2(1) = Pri(1) To Ult(1)
       If A(1) <> Ci2(1) Then ' confronta i numeri dell'Array con il ciclo For
          Ava(1) = Ava(1) + 1 ' Se differente incrementa Ava(1)
              Numeri(1, Ava(1)) = Ci2(1) ' e lo salva in Numeri()
           Lista(1).AddItem Numeri(1, Ava(1)) ' Visualizza in una ListBox
        Else
      End If
   Next Ci2(1)
    Next Ci1(1)
La variabile Con(1) posta in "Ult(1) = Memo(1, Con(1)) "è 6, proviene da un'altra routine precedente e può assumere altri valori (1>90)

L'output è: 10.11.12.13.14.15.16.17.9.10.11.12.13.14.15.16.17.9.10 ecc.

Spero si possa capire il funzionamento in ogni caso se servono altri dettagli chiedi pure

Grazie Key
__________________
Il miglior dialogo è l'intesa
© Rocky è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2010, 19:04   #6
© Rocky
Member
 
L'Avatar di © Rocky
 
Iscritto dal: Feb 2006
Città: Mi sono perso nello spazio...
Messaggi: 119
Estrarre numeri mancanti da un'Array

A forza di tentarle tutte credo di averlo risolto così:

Dopo averlo ottimizzato un pochino, comunque l'output è:
10.11.12 come desideravo.

'Numeri mancanti
Codice:
' Dichiarazioni nel modulo bas
Public Memo2(6, 90) As Integer
Public MyArray(90) As Variant

' Nel Form
Lista(1).Clear
 Pri(1) = Memo(1, 1)      ' Primo numero della lista 1, "9" 
Ult(1) = Memo(1, Con(1)) ' Ultimo numero della lista 1, "17"
 
 Found = False: Erase Cont()
  For B1 = 1 To Con(1) ' La variabile Con() contiene il totale di numeri provenienti da una routine precedentemente elaborata.
    MyArray(B1) = Val(Memo(1, B1)) ' Trasferisce in MyArray() i dati di Memo()
  Next B1
 '
 For B2 = Pri(1) To Ult(1)
 Cerca = B2
   Found = InStr(1, vbNullChar & Join(MyArray, vbNullChar) & vbNullChar, _
    vbNullChar & Cerca & vbNullChar) > 0
      If Found = True Then
        Found = False
         Else
           Cont(1) = Cont(1) + 1
          Memo2(1, Cont(1)) = Cerca ' Popola Memo2() con i numeri mancanti
        Lista(1).AddItem Memo2(1, Cont(1)) ' Visualizza i numeri mancanti
      End If
 Next B2
Che te ne pare Key ?
__________________
Il miglior dialogo è l'intesa

Ultima modifica di © Rocky : 08-07-2010 alle 11:40. Motivo: Modifica codice
© Rocky è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
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...
Microsoft Defender: falso allarme sull'a...
Aerei in volo e truppe pronte all'assalt...
Usano Claude per hackerare OpenAI: ricer...
RatHat: il nuovo malware Android usa il ...
Domanda di petrolio in calo di 2,5 milio...
Il meglio delle offerte weekend Amazon a...
Dopo oltre 100 anni di tentativi, l'IA d...
Speciale robot aspirapolvere in offerta ...
L'IA sta cancellando i lavori junior? Il...
Debutta Chery Italia: non più sol...
Addio ai dischi? Xbox ci aveva già...
Speciale TV Amazon: 4 modelli, da 139€ f...
Il nuovo iPhone 18 Pro Max ha una ricari...
Speciale smartphone Android: 7 modelli i...
La Camera USA presenta il conto: i data ...
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:50.


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