Pasos De La Multiplicacion De Matrices C#

  • Uploaded by: Alexander Sausedo
  • 0
  • 0
  • March 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Pasos De La Multiplicacion De Matrices C# as PDF for free.

More details

  • Words: 1,409
  • Pages: 4
Loading documents preview...
Paso 1: El programa pide los datos de la matriz número 1 y después los datos de la matriz 2 (entiéndase por datos # filas y de columnas que conforman las matrices) Console. WriteLine ( "[Matriz 1]" ) ; Console. Write ( "Filas: " ) ; int f1 = int . Parse ( Console. ReadLine ( ) ) ; Console. Write ( "Columnas: " ) ; int c1 = int . Parse ( Console. ReadLine ( ) ) ; Console. WriteLine ( " [Matriz 2]" ) ; Console. Write ( "Filas: " ) ; int f2 = int . Parse ( Console. ReadLine ( ) ) ; Console. Write ( "Columnas: " ) ; int c2 = int . Parse ( Console. ReadLine ( ) ) ; Paso 2: Cada dato ha sido almacenado en una variable obteniendo así cuatro variables que serian: f1= Numero de filas de la matriz 1 c1= Numero de columnas de la matriz 1 f2= Numero de filas de la matriz 2 c2= Numero de columnas de la matriz2 Paso 3: Luego de haber obtenido el número de filas y de columnas de las matrices que se van a multiplicar se declaran las matrices y se asignan como # de filas y # de columnas las variables almacenadas anteriormente y se agrega +1 por que más adelante las matrices se llenaran desde la posición 1 y no desde la 0 como se lo hace comúnmente. Nota: Se declaran las matrices después de haber obtenido el número de filas y de columnas de cada matriz porque si se lo hace antes el código generara error ya que se estaría usando variables aun no declaradas. int [ , ] Matriz1 = new int [ f1 + 1 , c1 + 1 ] ; int [ , ] Matriz2 = new int [ f2 + 1 , c2 + 1 ] ; int [ , ] Multiplicacion = new int [ f1 + 1 , c2 + 1 ] ; Paso 4: Luego de esto se evalúa una condición que sería: si el número de columnas de la matriz 1 (c1) es igual al número de filas de la matriz 2 (f2) se ejecutan las sentencias dentro del "ir". if ( c1 == f2 )

Paso 5: Luego de haberse cumplido la condición el programa muestra un mensaje pidiendo cada elemento que conformaran cada matriz y los almacena usando la técnica de for anidados esta técnica funciona de la siguiente manera: el primer for en ejecutarse es el más interno que en este caso será el de las columnas luego de terminar este pasa al de las filas. Ej: Usando for anidados si tuviéramos una matriz de 3x3 como la siguiente esta seria llenada comenzando desde la posicion 1,1 hasta la 1,3 esto seria controlado por el primer for luego de terminar este for se pasaria al de las filas y comenzaria de nuevo el proceso del for interno de las columnas y se llenaria la segunda fila desde la posicion 2,1 al 2,3 y luego se llenaria la ultima fila de la misma forma.

Console. WriteLine ( " Datos [Matriz 1]: " ) ; for ( int i = 1 ; i <= f1 ; i ++ ) { for ( int j = 1 ; j <= c1 ; j ++ ) { Console. Write ( "Ingresa Dato (Fila: {0} - Columna: {1}): " , i, j ) ; Matriz1 [ i, j ] = int . Parse ( Console. ReadLine ( ) ) ; } } Console. WriteLine ( "Datos [Matriz 2]: " ) ; for ( int i = 1 ; i <= f2 ; i ++ ) { for ( int j = 1 ; j <= c2 ; j ++ ) { Console. Write ( "Ingresa Dato (Fila: {0} - Columna: {1}): " , i, j ) ; Matriz2 [ i, j ] = int . Parse ( Console. ReadLine ( ) ) ; }}

Paso 6: Este paso seria el mas importante de todo el programa ya que en este se realizaria todo el proceso matematico que conlleva la multiplicacion de matrices lo primero que observamos es que se han usado tres fors anidados esto nos dice que el programa va a necesitar tres movimientos diferentes.

Explicacion por pasos de los tres for anidados a)Al iniciar por primera vez el bucle de los tres fors los indices i,j,z comienzan en su valor inicial osea 1. Multiplicacion [ i, j ] = Matriz1 [ i, z ] * Matriz2 [ z, j ] + Multiplicacion [ i, j ] ya reemplazando esto quedaria asi: Multiplicacion [ 1, 1 ] = Matriz1 [ 1, 1 ] * Matriz2 [ 1, 1 ] + Multiplicacion [ 1, 1 ] Luego reemplazando esas coordenadas por los datos de las matrices a multiplicar quedaria asi: Multiplicacion [ 1, 1 ]=4*5+0 Multiplicacion [ 1, 1 ] =20 Nota: Multiplicacion [ i, j ] es igual a 0 por que antes de entrar al for que contiene el proceso se declaro en ese valor. b) Luego de esto se ejecuta el for de z osea el for mas interno y se incrementa la z en 1 osea que ya valdria 2 y se realiza de nuevo la operacion. Multiplicacion [ i, j ] = Matriz1 [ i, z ] * Matriz2 [ z, j ] + Multiplicacion [ i, j ] ya reemplazando esto quedaria asi: Multiplicacion [ 1, 1 ] = Matriz1 [ 1, 2 ] * Matriz2 [ 2, 1 ] + Multiplicacion [ 1, 1 ] Luego reemplazando esas coordenadas por los datos de las matrices a multiplicar quedaria asi: Nota:Ya en este punto Multiplicacion [ i, j ] a acumulado el 20 y ya no vale 0 Multiplicacion [ 1, 1 ]=5*1+20 Multiplicacion [ 1, 1 ] =25 c) Luego de esto se ejecuta el for de z otra vez la z en 1 y ahora vale 3 y se realiza de nuevo la operacion. Multiplicacion [ i, j ] = Matriz1 [ i, z ] * Matriz2 [ z, j ] + Multiplicacion [ i, j ] ya reemplazando esto quedaria asi: Multiplicacion [ 1, 1 ] = Matriz1 [ 1, 3 ] * Matriz2 [ 3, 1 ] + Multiplicacion [ 1, 1 ] Luego reemplazando esas coordenadas por los datos de las matrices a multiplicar quedaria asi: Nota:Ya en este punto Multiplicacion [ i, j ] a acumulado el 25 Multiplicacion [ 1, 1 ]=6*2+25 Multiplicacion [ 1, 1 ] =37 d) Luego de eso z se incrementa otra vez al no cumplir la condicion el bucle de z termina y pasa al for de j este se incrementa en 1 y entra en el for de "z" que de nuevo empieza en el valor inicial osea 1 luego llega un punto en el cual "j" ya no cumple la condicion y termina y despues de eso se pasaria al bucle de "i" y y z se reiniciarian a 1 luego de que "i" no cumpla la condicion terminaria el funcionamiento de los fors. for ( int i = 1 ; i <= f1 ; i ++ ) { for ( int j = 1 ; j <= c2 ; j ++ ) { Multiplicacion [ i, j ] = 0 ; for ( int z = 1 ; z <= c1 ; z ++ ) { Multiplicacion [ i, j ] = Matriz1 [ i, z ] * Matriz2 [ z, j ] + Multiplicacion [ i, j ] ; } } }

Paso 7: Luego de haber obtenido la matriz resultante se la muestra mediante dos for anidados y se usa un salto de linea al final del primer for para que en pantalla se muestre la matriz en forma ordenada. Console. WriteLine ( "Multiplicacion de 2 Matrices" ) ; for ( int i = 1 ; i <= f1 ; i ++ ) { for ( int j = 1 ; j <= c2 ; j ++ ) { Console. Write ( "{0} " , Multiplicacion [ i, j ] ) ; } Console. WriteLine ( ) ; }}

Paso 8: Aqui se muestra un mensaje de error al usuario advirtiendole que el numero de columnas de la matriz 1 no es igual al numero de filas de la matriz 2. Nota: Este paso solo se ejecutara en caso de no haberse cumplido la condicion del if

Related Documents

Taller De Matrices
February 2021 2
Pasos De Plandismo.docx
February 2021 1
Pasos De Quebrada_2
January 2021 1
Matrices
February 2021 2
Matrices
March 2021 0

More Documents from "Loredana Gonzalez"