viernes, 4 de noviembre de 2016

Ejercicios de Matrices (12)

Ejercicio 1: Media, mayor y menor de un conjunto fijo.
Realizar un programa que pida las notas de 40 alumnos por pantalla y muestre un menú́ de opciones: 1. Listar notas, 2. Calcular la media, 3. Calcular el menor, 4. Calcular el mayor.
YA ANTES SUBIDO

Ejercicio 2: Media, mayor y menor de un conjunto prefijado.
Igual que el apartado anterior, pero en vez de 20 alumnos ahora el número de alumnos se le preguntará al usuario al iniciar el programa, este número no podrá́ superar los 100 alumnos (controlar que el usuario introduzca un número menor que 100).
YA ANTES SUBIDO

Ejercicio 3: Arrays multidimensionales. Edificio1.
Se quiere controlar el número de habitantes de un edificio con 6 pisos y 4 puertas (A, B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de cada puerta del edificio. El programa debe decir la vivienda (piso y puerta) que más habitantes tiene del edificio.
Código:
Public Class Form1
    Dim Datos(6, 4) As Integer
    Private Sub Mayor()
        Dim fila, columna, piso, faux, caux, temp As Integer
        Dim puerta As String
        fila = 0
        columna = 0
        puerta = ""
        For faux = 0 To 5
            For caux = 0 To 3
                If Datos(fila, columna) < Datos(faux, caux) Then
                    temp = Datos(fila, columna)
                    Datos(fila, columna) = Datos(faux, caux)
                    Datos(faux, caux) = temp
                    Select Case faux
                        Case 0
                            piso = 1
                        Case 1
                            piso = 2
                        Case 2
                            piso = 3
                        Case 3
                            piso = 4
                        Case 4
                            piso = 5
                        Case 5
                            piso = 6
                    End Select
                    Select Case caux
                        Case 0
                            puerta = "A"
                        Case 1
                            puerta = "B"
                        Case 2
                            puerta = "C"
                        Case 3
                            puerta = "D"
                    End Select
                End If
            Next
        Next
        lbl1.Text = Datos(0, 0)
        Lblp.Text = "Piso" + "" + piso.ToString
        Lblpuerta.Text = "Puerta" + "" + puerta



    End Sub

    Private Sub BtnCap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCap.Click
        Dim fila, columna As Integer
        LblContenidoMa.Text = ""
        Try
            For fila = 0 To 5
                For columna = 0 To 3
                    Datos(fila, columna) = InputBox("Digite un Numero de habitantes")
                    LblContenidoMa.Text = LblContenidoMa.Text + Space(15) + Datos(fila, columna).ToString
                Next
                LblContenidoMa.Text = LblContenidoMa.Text + vbCrLf + vbCrLf
            Next
            Mayor()
        Catch ex As Exception
            MsgBox("Debe insertar datos numericos")
        End Try
    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lblp.Click

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()

    End Sub
End Class


Imagen Depurando el Programa:




Ejercicio 4: Arrays multidimensionales. Edificio2.
Se quiere controlar el número de habitantes de un edificio con 6 pisos y 4 puertas (A, B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de cada puerta del edificio. El programa debe mostrar la media de habitantes de cada piso.
Código:
Public Class Form1
    Dim datos(5, 3) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fila, columna As Integer
        Dim promfila As Double
        lblmatriz.Text = ""
        Try
            For fila = 0 To 5
                For columna = 0 To 3
                    datos(fila, columna) = InputBox("digite un numero")
                    lblmatriz.Text = lblmatriz.Text + Space(14) + datos(fila, columna).ToString
                    promfila = promfila + (datos(fila, columna)) / 4

                Next
                lblpromfila.Text = lblpromfila.Text + promfila.ToString + vbCrLf + vbCrLf
                promfila = 0
                lblmatriz.Text = lblmatriz.Text + vbCrLf + vbCrLf
            Next
        Catch ex As Exception
            MsgBox("debes insertar numeros")
            lblmatriz.Text = ""

        End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()

    End Sub

End Class



Imagen Depurando el Programa:


Ejercicio 5:
Escriba un programa que permita obtener el número de elementos positivos de un vector de 10 elementos.
Código:
Public Class Form1
    Dim vecnums(9) As Double
    Dim negativos As Double
    Dim fila% = 0
    Private Sub guardar()
        If fila < 10 Then
            vecnums(fila) = txtnum.Text
            MsgBox("calificacion guardada", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)
            txtnum.Text = ""
            fila = fila + 1
            txtnum.Focus()
        Else
            MsgBox("base de datos llena solo 10 numeros")
        End If
    End Sub
    Private Sub mostrar()
        For i = 0 To 9
            If vecnums(i) > 0 Then
                negativos = vecnums(i)
                lstnumerospos1.Items.Add(negativos.ToString)

            End If
        Next
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        guardar()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        mostrar()

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        lstnumerospos1.Items.Clear()
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Me.Close()

    End Sub

End Class



Imagen Depurando el Programa:



Ejercicio 6:
Calcular el número de elementos negativos, cero y positivo de un vector de 20 elementos.
Código:
Public Class Form1
    Dim elementos(20) As Integer
    Dim i As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For i = 0 To 19
            elementos(i) = InputBox("digita numero")
            If elementos(i) < 0 Then
                lstnegativos.Items.Add(elementos(i))
            ElseIf elementos(i) = 0 Then
                lstcero.Items.Add(elementos(i))
            ElseIf elementos(i) > 0 Then
                lstpostivos.Items.Add(elementos(i))

            End If
            lblcero.Text = lstcero.Items.Count

            lblnega.Text = lstnegativos.Items.Count
            lblpos.Text = lstpostivos.Items.Count
        Next

    End Sub

End Class


Imagen Depurando el Programa:


Ejercicio 7:
Hacer un programa que permita insertar o eliminar elementos de un arreglo.
Código:
Public Class Form1
    Dim arreglo() As Integer



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Crear.Click
        Dim n As Integer
        n = TxtTamaño.Text
        ReDim arreglo(n)

        MsgBox("Tamaño del Arreglo Guardado", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)
        TxtTamaño.Text = ""
        TxtAgregar.Focus()



    End Sub
 
    Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
        Dim m As Integer
        m = TxtAgregar.Text
        ReDim Preserve arreglo(m)
        MsgBox("Elementos Agregados", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)

        TxtAgregar.Text = ""
        TxtAgregar.Focus()

    End Sub

    Private Sub BtnBorrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBorrar.Click
        Erase arreglo
        TxtTamaño.Focus()

    End Sub

    Private Sub BtnCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCerrar.Click
        Me.Close()

    End Sub

End Class



Imagen Depurando el Programa:


Ejercicio 8:
Sean A(m,n) y B(n) una matriz y un arreglo respectivamente, hacer un programa que asigne valores a A, a partir de B teniendo en cuenta los siguientes criterios:
A(m,n)=(m) si m<=n
A(m,n)=0 si m>n
Código:


Imagen Depurando el Programa:


Ejercicio 9:
Hacer un programa que intercambie las filas de una matriz. Los elementos de la fila 0 deben intercambiarse con los de la fila N, la fila 1 con los de la fila N-1 y así sucesivamente. Imprimir las dos matrices.
Código:


Imagen Depurando el Programa:


Ejercicio 10:
Hacer programa de un arreglo de 15 elementos, tipo entero. Presentar contenido desordenado en caja de texto o lista. Presentar contenido ordenado en caja de texto o lista, del mayor al menor.
Código:
Public Class Form1
    Dim arreglo(15) As Integer
    Dim fila As Integer
    Dim c As Integer
    Dim d As Integer
    Private Sub guardar()
        If fila < 15 Then
            arreglo(fila) = txtnumero.Text
            fila = fila + 1
            MsgBox("el numero ha sido guardado")
        Else
            MsgBox("solo se aceptan 15 numeros")

        End If
        txtnumero.Text = ""
        txtnumero.Focus()

    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        guardar()

    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        For i = 1 To 15
            c = arreglo(i)
            lstdesordenado.Items.Add(c)

        Next
    End Sub

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        Array.Sort(arreglo)
        For i = 0 To 15
            c = arreglo(i)
            lstordenado.Items.Add(c)

        Next
    End Sub

End Class



Imagen Depurando el Programa:


Ejercicio 11:
Matriz dinámica bidimensional, tipo cadena de caracteres, presentar datos.
 Código:
Public Class Form1
    Dim Datos(,) As String
    Dim F, C As Integer


    Private Sub Guardar()
        F = TextBoxCantFil.Text
        C = TextBoxCanCol.Text
        ReDim Datos(F - 1, C - 1)

    End Sub

    Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
        Guardar()

        Dim fila, columna As Integer
        LblMatriz.Text = ""
        Try
            For fila = 0 To F - 1
                For columna = 0 To C - 1
                    Datos(fila, columna) = InputBox("Teclee un Nombre")
                    LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString

                Next
                LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
            Next
     

        Catch ex As Exception
            MsgBox("Debe Insertar Una Cadena de Caracteres")
            LblMatriz.Text = ""

        End Try

    End Sub

    Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click
        Me.Close()

    End Sub

   


    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Guardar()

    End Sub

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

    End Sub
End Class


Imagen Mostrando La Depuración:


Ejercicio 12:

Matriz dinámica bidimensional numérica. Presentar promedio por fila y columna.

 Código:
Public Class Form1
    Dim Datos(,) As Integer
    Dim F, C As Integer


    Private Sub Guardar()
        F = TextBoxCantFil.Text
        C = TextBoxCanCol.Text
        ReDim Datos(F - 1, C - 1)

    End Sub

    Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
        Guardar()
        Dim fila, columna, sfilas, scolumnas As Integer
        LblMatriz.Text = ""
        Try
            For fila = 0 To F - 1
                For columna = 0 To C - 1
                    Datos(fila, columna) = InputBox("Digite un Numero")
                    LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString
                    sfilas = sfilas + Datos(fila, columna)
                Next
                LblNumF.Text = ((LblNumF.Text + sfilas.ToString) / C).ToString + vbCrLf + vbCrLf
                sfilas = 0
                LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
            Next
            For columna = 0 To C - 1
                For fila = 0 To F - 1
                    scolumnas = scolumnas + Datos(fila, columna)
                Next
                LbLNumC.Text = ((LbLNumC.Text + Space(14) + scolumnas.ToString) / F).ToString
                scolumnas = 0
            Next
        Catch ex As Exception
            MsgBox("Debe Insertar Datos Numericos")
            LblMatriz.Text = ""
            LbLNumC.Text = ""
            LblNumF.Text = ""


        End Try




    End Sub

    Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click
        Me.Close()

    End Sub





    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Guardar()

    End Sub

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

    End Sub

End Class


Imagen Depurando el Programa:


No hay comentarios:

Publicar un comentario