Foros del Web » Programación para mayores de 30 ;) » .NET »

Vectores en Visual Basic (Una ayudita)

Estas en el tema de Vectores en Visual Basic (Una ayudita) en el foro de .NET en Foros del Web. Hola tengo un par de problemitas que necesito hacer, l a primera es que tengo que llenar dos vectores(listbox) "A" y "B" digamos 20 numeros ...
  #1 (permalink)  
Antiguo 27/08/2011, 21:31
Avatar de msnonlygames  
Fecha de Ingreso: agosto-2011
Ubicación: En la programacion y la red
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Exclamación Vectores en Visual Basic (Una ayudita)

Hola tengo un par de problemitas que necesito hacer, la primera es que tengo que llenar dos vectores(listbox) "A" y "B" digamos 20 numeros en cada vector, y sumar sus digitos paralelamente en un vector "C" aca una imagen para que me capten la idea:


Uso estos codigos para llenar los valores random

Const h = 20
Dim listanum(h) As Short

-----------------------------
Sub llenarNumeros()
Randomize()
For x = 1 To h
listanum(x) = CInt(Rnd() * 10)
Next
End Sub

-----------------------------------
Sub mostrarNumeros()
lstlistanum.Items.Clear()
For x = 1 To h
lstlistanum.Items.Add(listanum(x))
Next
End Sub



Mi Otro problemita es llenar un vector con ciertos valores, y poner en un textbox o un lbl el numero mayor y la ubicacion o posicion del numero mayor.
aqui la imagen para que me entiendan (:





Bueno espero su ayuda . Gracias de antemano (:
  #2 (permalink)  
Antiguo 28/08/2011, 06:16
Avatar de thegodinez  
Fecha de Ingreso: octubre-2010
Ubicación: Culiacán, Sinaloa
Mensajes: 54
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Vectores en Visual Basic (Una ayudita)

Mira lo he hecho en visual basic y lo he hecho con los siguientes elementos:

Herramientas
  • 3 ListBox
  • 2 TextBox
  • 4 Botones

Nombres

ListBox1 - VectorA
ListBox2 - VectorB
ListBox3 - VectorC Resultados
NumeroMayor - NumeroMayor
Posicion - Posicion
Button1 - Llenar
Button2 - Suma - Enabled=False
Button3 - NumeroMayor - Enabled=False
Button4 - Limpiar

Llenar
Código:
        ListBox1.Items.Clear()
        ListBox2.Items.Clear()
        '
        For Indice = 0 To TamañoVectores - 1
            ValoresAleatorios = CInt(Rnd() * 10)
            ListBox1.Items.Add(ValoresAleatorios)
        Next
        '
        For Indice = 0 To TamañoVectores - 1
            ValoresAleatorios = CInt(Rnd() * 10)
            ListBox2.Items.Add(ValoresAleatorios)
        Next
        Button2.Enabled = True
Sumar
Código:
        ListBox3.Items.Clear()
        For Indice = 0 To TamañoVectores - 1
            ValorSuma = Val(ListBox1.Items(Indice)) + Val(ListBox2.Items(Indice))
            ListBox3.Items.Add(ValorSuma)
        Next
        Button3.Enabled = True
Numero Mayor
Código:
        NumeroMayorCalculo = ListBox3.Items(0)
        For Indice = 1 To TamañoVectores - 1
            If (NumeroMayorCalculo) < (ListBox3.Items(Indice)) Then
                NumeroMayorCalculo = ListBox3.Items(Indice)
                IndiceMayorCalculo = Indice
            End If
        Next
        NumeroMayor.Text = NumeroMayorCalculo
        Posicion.Text = IndiceMayorCalculo + 1
Limpiar
Código:
        ListBox1.Items.Clear()
        ListBox2.Items.Clear()
        ListBox3.Items.Clear()
        NumeroMayor.Clear()
        Posicion.Clear()
        Button2.Enabled = False
        Button3.Enabled = False
Ahora los botones Sumar y NumeroMayor, deben de estar con su propiedad Enabled=False, por el simple hecho de que Sumar no pueda sumar si los ListBox1 y ListBox2 no se encuentran llenos y NumeroMayor no puede calcular el número mayor si Sumar no ha sumado. Espero te sirva, saludos :D
  #3 (permalink)  
Antiguo 28/08/2011, 13:22
Avatar de msnonlygames  
Fecha de Ingreso: agosto-2011
Ubicación: En la programacion y la red
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Vectores en Visual Basic (Una ayudita)

Aqui me da un error



en la linea que me diste de sumar los valores lo he modificado te mando todos mis codigos de modificacion hasta el momento

Código PHP:
Const 45
    Dim listanum
(x) As Short
----------------------------------

    
Sub llenar()
        
Randomize()
        
ListBox1.Items.Clear()
        
ListBox2.Items.Clear()
        
'
        For p = 1 To x
            listanum(x) = CInt(Rnd() * 10)
            ListBox1.Items.Add(listanum(x))
        Next
        '
        
For 1 To x
            listanum
(x) = CInt(Rnd() * 10)
            
ListBox2.Items.Add(listanum(x))
        
Next
        btnsumar
.Enabled True
    End Sub
---------------------------------------
    
Sub mostrar()
        
ListBox1.Items.Clear()
        For 
1 To x
            ListBox1
.Items.Add(listanum(x))
        
Next
        ListBox2
.Items.Clear()
        For 
1 To x
            ListBox2
.Items.Add(listanum(x))
        
Next
    End Sub
--------------------------------------------
    
Sub sumar()
        
Dim valorsuma As Short
        ListBox3
.Items.Clear()
        For 
1 To x
            valorsuma 
CShort(ListBox1.Items(p)) + CShort(ListBox2.Items(p)
            
ListBox3.Items.Add(valorsuma)
        
Next
        btnnummayor
.Enabled True
    End Sub
-------------------------------------------------
    
Sub numeromayor()
        
Dim numeromayorcalculo As Short

        Dim Indicemayorcalculo 
As Short
        numeromayorcalculo 
ListBox3.Items(1)
        For 
1 To x
            
If listanum(x) < (ListBox3.Items(x)) Then
                listanum
(x) = ListBox3.Items(x)
                
listanum(x) = p
            End 
If
        
Next
        txtnummayor
.Text numeromayorcalculo
        txtposicionmayor
.Text Indicemayorcalculo 1
    End Sub
------------------------------------------
    
Sub limpiar()
        
ListBox1.Items.Clear()
        
ListBox2.Items.Clear()
        
ListBox3.Items.Clear()
        
txtnummayor.Clear()
        
txtposicionmayor.Clear()
        
btnsumar.Enabled False
        btnnummayor
.Enabled False
    End Sub

    End Sub 
  #4 (permalink)  
Antiguo 28/08/2011, 13:26
Avatar de thegodinez  
Fecha de Ingreso: octubre-2010
Ubicación: Culiacán, Sinaloa
Mensajes: 54
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Vectores en Visual Basic (Una ayudita)

Te da un error por que la posición en la que un arreglo inicia es 0 y no 1, de tal forma que el primer valor de tu arreglo se encuentre en la posicón 0.
  • 0 - Posición 1
  • 1 - Posición 2
  • 2 - Posición 3
  • 3 - Posición 4
  • 4 - Posición 5
  • 5 - Posición 6
  • 6 - Posición 7
  • etc
  • 44 - Posición 45

Tu error es que tratas de acceder a la posición 45 pero su dirección real es 44, bueno y ¿como se arregla? For p = 0 To x-1, esto indica desde p es igual a cero hasta x -1 en nuestro caso 44. :D



Saludos

Última edición por thegodinez; 28/08/2011 a las 13:36
  #5 (permalink)  
Antiguo 28/08/2011, 13:48
Avatar de msnonlygames  
Fecha de Ingreso: agosto-2011
Ubicación: En la programacion y la red
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Vectores en Visual Basic (Una ayudita)

Graciassssssssssss!!!!!!!! :d . ERES DIOS (:

Etiquetas: basic, vectores, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.