SOMA ARRAY

IRENKO 02/10/2012 16:31:08
#411070
Pessoal, um desafio. Tenho uma array, sendo: exemplo

array(25,50-38,95-65,90-25,50-34,82-29,53-25,68)

a soma de tres desses valores é igual a 86,00

existe possiblidade de fazer uma analise combinatoria na array e mostrar quais são esse valores? Não precisa ser propriamente em uma array.
GANDA.NICK 02/10/2012 16:35:58
#411073
Resposta escolhida
boas o tamanho do array é 8 ????

porque tem 2 valores na mesma casa com um sinal - (subtração) ??
IRENKO 02/10/2012 16:50:31
#411077
não é sinal, é somente um separador. Pode usar a virgula ou outro.
GANDA.NICK 02/10/2012 17:09:07
#411081
bem.. este code faz o serviço


Option Explicit

Dim MyArr(1 To 7) As Double


Private Sub Command2_Click()
Dim i As Integer, i2 As Integer, i3 As Integer

For i = 1 To 5
For i2 = i + 1 To 6
For i3 = i2 + 1 To 7
If MyArr(i) + MyArr(i2) + MyArr(i3) = 86 Then
MsgBox [Ô]achou: [Ô] & MyArr(i) & [Ô] + [Ô] & MyArr(i2) & [Ô] + [Ô] & MyArr(i3)
Exit Sub
End If
Next [ô]i3
Next [ô]i2
Next [ô]i

End Sub

Private Sub Form_Load()

MyArr(1) = 25.5
MyArr(2) = 38.95
MyArr(3) = 65.9
MyArr(4) = 25.5
MyArr(5) = 34.82
MyArr(6) = 29.53
MyArr(7) = 25.68

End Sub




acho que deve ser isto....
FILMAN 02/10/2012 18:46:43
#411088
Faz assim

Dim sptVal As Variant
Dim soma As Currency

[ô]array(25,50-38,95-65,90-25,50-34,82-29,53-25,68)

soma = 0
For i = 0 To UBound(array)
sptVal = Split(array(i), [Ô]-[Ô]) [ô]Caso queira é só mudar o delimitador
If UBound(sptVal) > 0 Then
For x = 0 To UBound(sptVal)
soma = soma + CCur(sptVal(x))
Next
Else
soma = soma + CCur(array(i))
End If
Next

Tópico encerrado , respostas não são mais permitidas