devo ottenere il numero massimo di volte in cui il valore è positivo e il numero massimo in cui è negativo
Ovvero 4 volte positivo, e 3 volte negativo.
La lista di esempio ha 9 valori. C'è un criterio per cui ne scarti due? Oppre è 4 negativi e 5 positivi?
Il caso di valore ugiuale a zero, lo classifichi come positivo o come caso a sé?
Non è sufficnete un test del tipo:
if value >= 0 then positivi=positivi+1 else negativi=negativi+1
In realtà basterebeb conrare i soli positivi (o negativi) e ricavare il numero di elemnti dell'altro gruppo da List.size-positivi o roba del genere
La lista di esempio ha 9 valori. C'è un criterio per cui ne scarti due? Oppre è 4 negativi e 5 positivi?
Il caso di valore ugiuale a zero, lo classifichi come positivo o come caso a sé?
Non è sufficnete un test del tipo:
if value >= 0 then positivi=positivi+1 else negativi=negativi+1
In realtà basterebeb conrare i soli positivi (o negativi) e ricavare il numero di elemnti dell'altro gruppo da List.size-positivi o roba del genere
Ah, ora mi è chiaro.
Quindi ad ogni cambio positivo/negativo (o viceversa) interrompi il conteggio e verifichi se è maggiore del max dello stesso tipo che avevi già rilevato
In pratica vuoi sapere le sequenze più lunghe di positivi e enagativi.
Se @Star-Dust ha già del codice e lo pubblica, usa quello; altrimenti dopo pranzo ci guardo..
Ah, ora mi è chiaro.
Quindi ad ogni cambio positivo/negativo (o viceversa) interrompi il conteggio e verifichi se è maggiore del max dello stesso tipo che avevi già rilevato
In pratica vuoi sapere le sequenze più lunghe di positivi e enagativi.
Se @Star-Dust ha già del codice e lo pubblica, usa quello; altrimenti dopo pranzo ci guardo..
Va bene, ho capito siete tirchi di sorgenti, ha ragione @Xfood.... ecco a voi
B4X:
For i=0 To L.Size-1
Dim F As Float = L.Get(i)
If L<0 Then
SeqNegativi=SeqNegativi+1
SeqPositivi=0
MaxNegativi=Max(MaxNegativi,SeqNegativi)
Else if L>0 Then
SeqPositivi=SeqPositivi+1
SeqNegativi=0
MaxPositivi=Max(MaxPositivi,SeqPositivi)
End If
Next
Log(MaxPositivi)
Log(MaxNegativi)