Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/06/2007, 11:12
Jarkaos
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: Duda con 2 arrays

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