• Viernes 8 de Noviembre de 2024, 13:44

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - aquilifer

Páginas: [1]
1
Diseño de Algoritmos / Problema con array
« en: Lunes 5 de Abril de 2010, 18:46 »
Hola, tengo que hacer una aplicación en Visual Basic que permita ordenar las columnas de una matriz con un
número de filas y un número de columnas variable, el caso es que me lió mucho.

Mi código es:

Public Class Formulario
    Dim X(,) As Double 'X es un array bidimensional dinámico
    Dim dato() As Double 'Vector dinámico
    Dim Fil, Col As Integer 'Variables para almacenar las dimensiones de X

    Private Sub Formulario_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub ButtonDatos_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonDatos.Click
        Dim i, j As Integer, Mensaje As String
        Dim aux As Integer
        Explica.Text = "Tendrá que especificar el número de filas y de columnas"
        Fil = InputBox("Introduzca el número de filas", "Dimensiones de la matriz")
        Col = InputBox("Introduzca el número de columnas", "Dimensiones de la matriz")
        'Las dim de la matriz empiezan a contar desde 0
        'redimensionamos la matriz X hasta Fil-1 y Col-1
        ReDim X(Fil - 1, Col - 1)
        Explica.Text = "Ahora se le piden los elementos de la matriz"
        'Pide los elementos de la matriz X usando InputBox
        For i = 0 To Fil - 1
            For j = 0 To Col - 1
                Mensaje = "Introduzca X(" & i & "," & j & ")"
                X(i, j) = InputBox(Mensaje, "Elementos de la matriz")
            Next j
        Next i

        ReDim dato(Col - 1)
        For j = 0 To Col - 1
            For i = 0 To Fil - 1
                If dato(j) > dato(j + 1) Then
                    aux = dato(j)
                    dato(j + 1) = dato(j)
                    dato(j) = aux
                End If
            Next i
        Next j
        'Se imprimen los resultados en el control Resultado
        Etiqueta2.Visible = True
        Resultado.Visible = True
        For j = 0 To Col - 1
            Resultado.Text = Resultado.Text & vbCrLf & dato(j)
            'vbCrLf es un salto de linea
        Next j
        Explica.Text = "Este programa ordena matrices por columnas. Para introducir los datos pulse en el botón DATOS"
    End Sub

    Private Sub ButtonSalir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonSalir.Click
        End
    End Sub
End Class

LO que pretendo hacer es para ordenar las columnas de la matriz :
Almacenar el contenido de una columna en un vector(dato(j))
Ordenar mediante un bucle ese vector
Regresar el contenido ordenado del vector a la columna de la matriz

Pero al intentar almacenar los datos de las columnas de la matriz en el vector no lo hace, ahí se para, no recorre j  no hace nada se bloquea el programa.

2
Diseño de Algoritmos / Algoritmo
« en: Domingo 4 de Abril de 2010, 20:12 »
Como se escribe este codigo en VirtualBasic
desde I 0 hasta n-1 hacer
si elemento <elemento [I + 1] entonces
intercambiar (elemento , elemento [I + 1]
fin_si
fin_desde

3
Diseño de Algoritmos / Ordenar Matriz
« en: Domingo 4 de Abril de 2010, 19:36 »
Hola,
necesito ordenar las columnas de una matriz bidimensional con Virtual Basic 2008.
Lo he intentado pero me lío bastante y no lo consigo hacer, agradecería ayuda.
Gracias y un saludo.

Páginas: [1]