Novità

X amici scripter Codice MinimoV - MassimoV

Mike58

Advanced Member >PLATINUM PLUS<
Ciao ogni tanto anche io chiedo delle delucidazioni in merito ai codici Vbscript MinimoV e MassimoV.

Spesso mi imbatto in richieste script che chiedono numeri da mettere in un ipotetico quadrato dal + grande al minimo.
La dificoltà non è trovare il + grande o il minimo ma identificare gli altri 2 numeri per abbinarli a una variabile o vettore, ora per questo negli esempi Test di spazioMetria ho cercato di simulare il tutto con MassimoV e MinimoV ma i dati con certi numeri vengono scritti correttamente invece con altri numeri non vengono scritti correttamente.

Chiedo in primis a Luigi, Joe e altri amici se riescono ad farmi capire il concetto.

allego script di prova.

Codice:
Sub Main
    
    Call Scrivi("Esempio 1 dal + grande al + piccolo ",True)
    ' ----- 1 esempio non scrive i dati ordinati -----
    'a = 88
    'b = 35
    'c = 66
    'd = 90
    ' ------ 2 esempio scrive i dati ordinati --------
    a = 11
    b = 22
    c = 33
    d = 44

    ReDim aN(4)
    
    'aN(0) = 10000 ' il vettore conta anche l'indice 0  percio se non usato va valorizzato con un numero molto alto per aggirare il problema
    aN(1) = a
    aN(2) = b
    aN(3) = c
    aN(4) = d
    Call Scrivi(MassimoV(aN,4,4)) ' 1° massimo
    Call Scrivi(MassimoV(aN,3,3)) ' 2° massimo
    Call Scrivi(MassimoV(aN,2,2)) ' 3° massimo
    Call Scrivi(MassimoV(aN,1,1)) ' 4° massimo

    
    Call Scrivi("Esempio 2 dal + piccolo al + grande ",True)
    
    ReDim aN(4)
    
    'aN(0) = 0' il vettore conta anche l'indice 0  se non vogliamo considerarlo usiamo i parametri nella funzione MinimoV
    aN(1) = a
    aN(2) = b
    aN(3) = c
    aN(4) = d
    
    Call Scrivi(MinimoV(aN,1))
    Call Scrivi(MinimoV(aN,2))
    Call Scrivi(MinimoV(aN,3))
    Call Scrivi(MinimoV(aN,4))

    
End Sub
 
Ciao Mike , devo dire che c'è una pecca nel ragionamento forse dovuto al fatto che non hai capito bene la funzione.
Questo che segue è un esempio dell'uso della funzione minimo e massimo

Codice:
Sub Main

	ReDim a(10)
    	Dim k 

	For k = 0 To 10
		a(k) = NumeroCasuale(1 ,90)
		
		Call Scrivi ( Format2(k) & " - Numero -- > " & a(k) )
	Next

	Call Scrivi ("Il Numero piu grande è -- > " & MassimoV ( a) )
	Call Scrivi ("Il Numero piu piccolo è -- > " & MinimoV (  a) )
	
	
	
End Sub


nel tuo codice invece la riga scritta in rosso non ha senso .. la funzione MassimoV restituisce un valore massimo dentro un array ma se i limiti in cui deve cercare identificano un solo numero sto famoso massimo sarebbe rispetto a cosa ?
Un saluto


Codice:
 ReDim aN(4)
    
    'aN(0) = 10000 ' il vettore conta anche l'indice 0  percio se non usato va valorizzato con un numero molto alto per aggirare il problema
    aN(1) = a
    aN(2) = b
    aN(3) = c
    aN(4) = d
    [COLOR="#FF0000"]Call Scrivi(MassimoV(aN,4,4)) ' 1° massimo
[/COLOR]
 
ah dimenticavo di dire che non ho capito perche il tuo problema non si potrebbe risolvere con ordina matrice ..
in quel caso avresti un array ordinato e il primo elemento è anche il piu piccolo (o il piu grande) mentre l'ultimo sara sempre il piu grande ( o il piu piccolo se ordinamento discendente)
 
Scusa Mike e non vorrei passare avanti a Luigi che ti ha dato una risposta matematica-scriptica.

Ma quadrato "dentro un quadrato" è una cosa mentre in quadratura è tutt'altro,

pertanto e considerando che le tue richieste potrebbero essere di natura lottologica ...

e ciclometrica, anch'io, chiedo.

:) Cordiali saluti.
 
Ciao Luigi, Joe forse intentevo quadratura... il problema però sta nel fatto che non voglio ordinare i numeri ma identificarli.
Esempio... A = 1
B = 2
C = 3
D = 4

Se devo sottrarre dal Numero Massimo(4 " D ") i numeri Medi(3 " C " ) or Medi(2 " B ) ) come faccio ad inindividuarli se non indivuarli con la posizione del MassimoV or MinimoV.

Perchè una richiesta sarebbe.... trova 2 numeri per ambo in una ruota, trova 2 numeri di ambo in un altra ruota, dal numero massimo1(dei quattro numeri) sottrai il massimo2.
es. 1° ambo 12-56
2° ambo 23-34
operazione da fare 56-34 e 56-23 ossia i numeri Medi

io quello che volevo fare è individuare da codice le posizioni di massimo1 massimo2 etc. per poi richiamarli in operazioni.

Ciao e grazie per la risposta
 
come come faccio .. ti scrivi una funzione che lo fa ...prende l'array in input e ti ritorna il numero piu alto e la sua posizione nell'array passato ..
 
Scusa Mike, se ho capito bene devi solo identificarli.
Con OrdinaMatrice in pratica a(1) diventa il numero minimo
a(4) il numero massimo
a(2) e a(3) gli intermedi ovviamente in ordine crescente.
Ciao


Sub Main
Dim a(4)
a(1)=25
a(2)=88
a(3)=2
a(4)=80
OrdinaMatrice a,3
Scrivi a(1)
Scrivi a(2)
Scrivi a(3)
Scrivi a(4)
End Sub
 
Proviano in pratica ...

Dati 2 numeri A = 75 : B = 25

Calcolare la chiusura che si ottiene sommando 20 al più piccolo e sottraendo 20 al più grande,

forse è questo che non ti torna, non è della matematica che hai bisogno, ma della ciclometria.

Codice:
Sub Main
 Dim Nu(2) : Nu(1) = 75 : Nu(2) = 25
 DisegnaCerchioCiclometrico Nu,True
End Sub
 
Grazie a tutti, ma devo dire che la dritta di Daniel ha risolto il quesito era proprio quello che dovevo fare.
Stavo proprio rivedendo la funzione ma ancora non ero arrivato al punto.

Grazie Joe, per la chiusura può servire anche quella.

Grazie Luigi, so che ci stimoli a fai da te, ma qualche volta ahinoi ci incasiniamo la dove le cose possono essere semplici.

Grazie a voi un altro tassello Vbscript.

Ciao
Mike
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 18 dicembre 2025
    Bari
    72
    48
    90
    14
    52
    Cagliari
    11
    78
    87
    47
    53
    Firenze
    50
    08
    32
    71
    74
    Genova
    20
    18
    09
    76
    07
    Milano
    13
    34
    68
    07
    16
    Napoli
    75
    61
    50
    16
    10
    Palermo
    32
    44
    38
    16
    70
    Roma
    13
    67
    32
    44
    69
    Torino
    45
    64
    49
    37
    63
    Venezia
    81
    19
    30
    79
    36
    Nazionale
    21
    85
    89
    35
    77
    Estrazione Simbolotto
    Venezia
    38
    12
    34
    27
    24

Ultimi Messaggi

Indietro
Alto