Novità

Dovè l' errore

genios

Advanced Member >PLATINUM<
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
    sabato 25 gennaio 2025
    Bari
    13
    87
    02
    10
    73
    Cagliari
    55
    40
    76
    82
    50
    Firenze
    23
    51
    44
    84
    72
    Genova
    49
    56
    19
    48
    64
    Milano
    40
    27
    80
    13
    47
    Napoli
    67
    37
    02
    75
    81
    Palermo
    25
    28
    11
    31
    40
    Roma
    20
    25
    59
    10
    22
    Torino
    82
    02
    19
    89
    84
    Venezia
    06
    59
    65
    53
    61
    Nazionale
    45
    72
    80
    76
    32
    Estrazione Simbolotto
    Bari
    16
    41
    08
    11
    43
Indietro
Alto