Novità

Dovè l' errore

genios

Advanced Member >PLATINUM PLUS<
Codice:
Option Explicit
Sub Main
    Dim i
    i=0
  Dim arrayDaOrdinare  (10, 20, 340, 21, 5, 220, 43, 92, 249, 1000, 12)
  'effettuo il bubble sort
  DoBubbleSort(arrayDaOrdinare)
  'stampo l'array ordinato
  For i = 0 To arrayDaOrdinare.GetUpperBound(0)
    Scrivi(arrayDaOrdinare(i) & "<br>")
  Next
End Sub

Sub DoBubbleSort (arrayDaOrdinare )
  Dim i, j
  For i = 0 To arrayDaOrdinare.GetUpperBound(0)
    For j = 0 To arrayDaOrdinare.GetUpperBound(0) - 1
      If arrayDaOrdinare(j) > arrayDaOrdinare(j + 1) Then
        scambiaValori arrayDaOrdinare, j
      End If
    Next
  Next
End Sub

Sub scambiaValori( arrayDaOrdinare , Primo )
  Dim tmp   = arrayDaOrdinare ,(Primo)
  'scambio i valori
  arrayDaOrdinare(Primo) = arrayDaOrdinare(Primo + 1)
  arrayDaOrdinare(Primo + 1) = tmp
 
End Sub
 
Genios , dove è l'errore io in questo costrutto non lo capisco.
Tuttavia si può fare un costrutto un pochetto più semplice per lo scopo di ordinare un array di numeri.

Codice:
Option Explicit
Sub Main
   Dim arrayDaOrdinare,i
   arrayDaOrdinare = Array(0,10,20,340,21,5,220,43,92,249,1000,12)
   Scrivi "Array non Ordinato.... " & StringaNumeri(arrayDaOrdinare)
  
   OrdinaMatrice arrayDaOrdinare,1,1
   Scrivi "Array Ordinato........ " & StringaNumeri(arrayDaOrdinare)
  
   Scrivi
   Scrivi "Array Ordinato in Verticale"
   For i = 0 To UBound(arrayDaOrdinare)
   Scrivi arrayDaOrdinare(i)
   Next
End Sub

Array non Ordinato.... 10.20.340.21.5.220.43.92.249.1000.12
Array Ordinato........ 5.10.12.20.21.43.92.220.249.340.1000

Array Ordinato in Verticale

5
10
12
20
21
43
92
220
249
340
1000


In altro modo non ho risposte.
Ciao
 
buon giorno a tutti, in questi giorni visto che ho un po di tempo da passare , ho rispolverato SpazioLigth
ovviamente la soluzione migliore è quella utilizzata da mike perche sfrutta le funzioni interne del software,
ho provato a replicare il codice di Eugenio
Non so se sia esatto, se sia ridondante, per me è tutto nuovo, e rispetto a quando ho cominciato a studiare spazioscript sono piu vecchio e parecchio meno smart :(
cmq ecco il codice .
Codice:
Class Script
    ' Controllare che funzioni correttamente , non se ne da garanzia
    Sub Main
        'inserire qui il proprio codice...
        Dim aV () As Object
        Dim nElement As Integer = InputBox( "quanti numeri Vuoi inserire nel vettore?"," Piu Di Uno  e Meno  o uguale a  30 ")-1
        ReDim aV ( nElement)
        Call PopoloIlMioVett( nElement  , aV )
        If aV.length<2  Or  aV.length>30 Then  Call MsgBox( "",vbCritical,"il Vettore non contiene un numero di elementi richiesto per essere ordinato"):  Exit Sub
        Dim ord As Integer = InputBox( "Decrescente<1   ; Crescente>= 1"," Modalita di ordinamento ")
        'If ord<>  -1 And  ord<> 1  Then Exit Sub
        Scrivi (" Vettore non ordinato contenente : " & aV.length & " elementi = a ( " &  ScriviVett(aV) & " ) ")
        Call OrdinaVettoreBubble_Sort( aV , ord )
        Scrivi (" Vettore ordinato contenente : " & aV.length & " elementi = a  ( " &  ScriviVett(aV) & " ) ")
        'End If
    End Sub
    Sub PopoloIlMioVett( nElement As Integer ,byref aV ( ) As Object)
        For i As Integer =0 To nElement 'aV.getupperbound(0)
            aV(i)= NumeroCasuale(1,90)
        Next
    End Sub
    Sub OrdinaVettoreBubble_Sort( byref aV( ) As Object , ord  As Integer )
        If ord < 1 Then
            For i As Integer =1 To aV.getupperbound(0)
                For j As Integer = 0 To  (aV.getupperbound(0))-1 
                    If aV(i)>aV(j) Then Scambia(aV(i),aV(j))
                Next
            Next
        Else
            For i As Integer =1 To aV.getupperbound(0)
                For j As Integer = 0 To  (aV.getupperbound(0))-1
                    If aV(i)<aV(j) Then Scambia(aV(i),aV(j))
                Next
            Next
        End If
    End Sub
    Function ScriviVett(aV () As Object)
        Dim s As String= ""
        For i As Integer = 0 To aV.getupperbound(0)
            s = s &  aV(i)& "."
        Next
        s= Left(s, Len(s)-1)
        Return s
    End Function
    Sub Scambia(byref  e1 As Integer , byref e2 As Integer  )
        Dim temp As Integer
        temp=e1
        e1=e2
        e2=temp
    End Sub
End Class
p.s: grazie Mike ho seguito il tuo consiglio e non Crasha piu :)
 
Ciao,
I Legend
Per Quanto mi riguarda può essere una valida alternativa, in quanto può essere utile per capire le potenzialità di ciò che si può fare,
in questo periodo condivido il PC e quindi vado a step per potermi applicare come vorrei ma ho provato a vederlo resta un utile spunto di studio.
purtroppo il progetto si è fermato, ma in qualche modo i più bravi in materia possono creare delle funzioni utente per i propri scopi, Io lo sto studiando in quanto diverso ma molto più veloce nelle varie elaborazioni.

Resto sempre convinto da quando ho avuto modo di utilizzare Spaziometria che resta uno dei migliori programmi del lotto se non il migliore, e resta un peccato non poterlo aggiornare in alcuni suoi aspetti, perchè purtroppo ci sono cambiamenti che potrebbero prima o poi renderlo "obsoleto", e non mi riferisco al 10elotto 5min che non si aggiorna, per ovvi motivi, e stare dietro a questi aggiornamenti non è facile, ma penso che lo sviluppo almeno nel lotto si poteva e si può continuare, Bisogna ringraziare Silop per la costanza che ci mette nel permettere gli aggiornamenti, anche se grazie ad alcuni script o piccoli escamotage si può aggiornare l'archivio, la base dei nostri studi o analisi.

Grazie a Voi ho capito molte cose non tutte ovvio, Io comprendo molto di più con esempi di script che analizzando i vari codici, ma ciò non toglie che me li sto studiando singolarmente per capire la loro potenzialità,

vorrei portare a termine alcuni progetti, ma senza alcuni esempi di script la vedo dura, e potrebbe restare un opera incompiuta.

intanto continuo a studiare e capire con quanto alcuni di Voi hanno proposto fino ad oggi.

Mi fa piacere vedere che Ti sei avvicinato a questo programma con le Tue capacità avrai modo di Testarti al meglio, Il solo Mike58 ha offerto davvero molto con i suoi esempi di script.

Spero un giorno di riuscire come Voi a contribuire in qualche sviluppo.

Grazie anche a Te per quanto Proponi.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 24 aprile 2026
    Bari
    15
    88
    36
    90
    37
    Cagliari
    49
    22
    46
    28
    86
    Firenze
    07
    85
    14
    84
    55
    Genova
    89
    69
    88
    41
    81
    Milano
    71
    43
    45
    25
    03
    Napoli
    83
    72
    60
    16
    21
    Palermo
    75
    78
    68
    80
    76
    Roma
    13
    25
    67
    83
    78
    Torino
    30
    39
    63
    72
    81
    Venezia
    13
    55
    71
    89
    05
    Nazionale
    42
    70
    22
    48
    41
    Estrazione Simbolotto
    Genova
    38
    45
    33
    15
    22

Ultimi Messaggi

Indietro
Alto