ok, he elaborado un poco mas el codigo y he lleagdo a esto:
Código:
Public Class Form1
Dim array1(9), array2(9), array3(9) As Integer
Function IniArray(ByVal arr() As Integer, ByVal filName As String) As Integer()
Dim sr As IO.StreamReader
Dim i As Integer
sr = IO.File.OpenText(filName)
For i = 0 To arr.GetUpperBound(0)
arr(i) = sr.ReadLine
Next
sr.Close()
Return arr
End Function
Function ReadArray(ByVal arr() As Integer) As String
Dim i As Integer, s As String
For i = 0 To arr.GetUpperBound(0)
s &= arr(i) & Chr(13) & Chr(10)
Next
Return s
End Function
Function ReadArray2(ByVal arr() As Integer) As String
Dim i As Integer, s As String
For i = arr.GetUpperBound(0) To 0 Step -1
s &= arr(i) & Chr(13) & Chr(10)
Next
Return s
End Function
Function ReadArray3(ByVal arr() As Integer) As String
Dim i, b As Integer, s As String
For i = 0 To arr.GetUpperBound(0)
For b = 9 To arr.GetUpperBound(0) Step -1
s &= ((array1(i) + array2(b)) / 2) & Chr(13) & Chr(10)
Next
Next
Return s
End Function
Private Sub btnExecute_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExecute.Click
txtList.Text = ReadArray(IniArray(array1, "array1.txt"))
txtList2.Text = ReadArray2(IniArray(array2, "array1.txt"))
txtList3.Text = ReadArray3(IniArray(array3, "array1.txt"))
End Sub
End Class
El problema: solo en el primer loop me entrega el resultado correcto, despues me va entregando los valores con 0,5 de diferencia: por ejemplo:
La primera vuelta esta bien, pero no el resto:
array1 array2 array3
1 10 5.5
2 9 6
3 8 6.5
4 7 7
5 6 7.5
6 5 8
7 4 8.5
8 3 9
9 2 9.5
10 1 10