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.


Mensajes - wesker53

Páginas: [1]
1
Hago una aplicacion para multiplicar matrices. Me estoy valiendo de arreglos y ciclos anidados. Aqui abajo tengo lo que creo es el codigo. ¿Me pueden decir si está bien o si este código iría en el botón que me genere el producto de matrices, o sea, en el boton "Multiplicar matrices"?

Código: [Seleccionar]
'este sub es para probar la funcion
Private Sub Prueba_de_producto()
Dim A(,) As Decimal = {{1, 2, 3}, {3, 2, 1}}
Dim B(,) As Decimal = {{1, 2}, {3, 1}, {2, 1}}
 
Dim R(,) As Decimal = Producto(A, B)
 
MessageBox.Show(String.Format("{0} {1}" _
& ControlChars.CrLf & "{2} {3}", _
R(0, 0), R(0, 1), R(1, 0), R(1, 1)))
 
End Sub

'funcion de multiplicacion matricial
Public Function Producto(ByVal A(,) As Decimal, ByVal B(,) As Decimal) As Decimal(,)
 
'Comprobamos que las matrices cumplen los requisitos
If A.GetUpperBound(1) B.GetUpperBound(0) Then
Exit Function
End If
 
Dim i, j, k As Short
'Creamos la matriz producto
Dim R(A.GetUpperBound(0), B.GetUpperBound(1)) As Decimal
 
Dim T(A.GetUpperBound(1), 1) As Decimal
 
'Los dos primeros bucles For
'sirven para ir visitando
'todas las posiciones de la matriz R
For i = 0 To R.GetUpperBound(0)
For j = 0 To R.GetUpperBound(1)
 
'i contiene el primer índice de R
'se aumente el índice desde cero
'hasta el número de columnas de A,
'que coincide con el de filas de B
For k = 0 To A.GetUpperBound(1)
T(k, 0) = A(i,k)
Next
 
'j contiene el segundo índice de R
'vamos aumentando el índice desde cero
'hasta el número de filas de B,
'que coincide con el de columnas de A
For k = 0 To B.GetUpperBound(0)
T(k, 1) = B(k, j)
Next
 
'Multiplicamos cada pareja del array T
'y vamos acumulando los resultados.
'El resultado final lo colocamos en su posición
'en la matriz producto R
For k = 0 To T.GetUpperBound(0)
R(i, j) += T(k, 0) * T(k, 1)
Next
 
Next
Next
 
Return R
 
End Function

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".