Está en la página 1de 8
eebse Facultad: Ingenieria , ‘6 Escuela: Ingenieria en Computacion Guia #9 7, Asignetura: Programacion Estructurada Tema: “Matrices en C#”. Objetivos + Implomenter erreglos de dos dimensiones. + Recolver problemas oplicando matrices. Introduccion Arreglos Multidimensionales Les arregles multidimentionales de dos dimensiones te utilizan con frecuencia pare repretentar tablas de valores, que consisten en informacién ordenada en files y columnes. Para identificar una tabla en particular debemos especificar dos indices. Por convencién, el primero identifica la fila del elemento y el segundo su columna: Los arreglos que requieren dos indices para identificar un elemento especifico se lloman arreglos bidimensionales. Columna 0 Columna | Columna 2 _Columna 3 Filao { Afoytoy | Aoi) | atoy2)_ | Atout3) Fiat | ago) | atm | am) | aie) Fila2 | AIO) | ARI) | ARIZ) | ARIS) Subindice de columna indice de fila Nombre de arreglo Sintaxis para declarar y crear los arreglos bidimensionales Aprendames la declaracién de matrices a través de un ejemplo. Come recerdames, cuando trabajames con arreglos vamos a hacer uso de los signos de agrupacién llamades corchetes, yo que con ello le especificamos al compilador que estamos trabajando con variables de fipo arreglo que han sido instonciados mediante la palabra cleve new. Les tipes de datos que ce pueden utilizar en lez arzegles son los que hemos estudiando en las précticas anteriores, per lo tonlo en este ejemplo utilizames un tipe de dato int: int L] bs b= new inf 3, 4] En el ejemplo anterior estamos ereando una matriz de 3 files y 4 columnes. Al iguel que en los arregles de una dimensién te ullizeba un bucle (generalmente for) pera cargar v operer los elementos de un vector, esi tombién en lot matrices vamet a ulilizar bucles, con la diferencia que ahora uiilizaremos un for pare los filas y o'ro for para las columnas (for anidados}. Tipo de dato eos elementos dala matiz <. t[,] notas = new int[filas,columnas]; \ notas[0,0] =14; ~~ Asignacion de valores Material y Equipo * Guia de laberatorie Ne. 9. + Computadora con Visual Studio 2013 0 superior + Dispositive de almacenamiento (USB). G9Ejemplol. Programa que carga una matriz de una dimensién establecida y muestra los valores en pantalla, 1 static void Main(string[] args) Nombre de la matriz Console.Title = int[,] Matrix //Cargar y visualizar una matriz 3 “Ejemplot de una matriz 3x4"; 4 5 6 for (int filas=@; filas<3; filast+) 7 8 2 new int[3,4]; {// for externo para filas for (int columnas=®; colunnas<4; columnas++) {// for interno para columnas 1@ —Console.irite("Ingrese el valor de la posicién [" + filas + "," + columas + “J: "); 11 Matrdx[#ilas, colunnas]=int.Parse(Console.ReadLine()); 2} a3} 14 Console.Wirite("\n"); 35 Console.birite("shora visualizamos la matrix digitada...."); 16 Imprimin(Natrix); 17 Console.Readkey(); 18 } 19 static void Imprimir(int[,] Matrix) 2 aa 2 23 24 25 26 7 28 28 3e for (int filas = @; filas < 3; filas++) { Console.Wirite("\n"); for (int columnas = 9; columas < 4; colummas++) { Console.hirite("\t" + Matrix[files, columnas] + "\t"); t t ? Ta posieion 1a posicion Ja poieion posicion posicion posicion posicion posicion posicion posicion posicion posieion G9Ejemple2. Programe que sume dos matrices de 2 x 3, 1 2 3 4 5 6 7 8 3 18 1 2 3 14 15 16 v7 18 18 28 21 2 23 static void Nain(string[] args) { Console. Title = "Ejemplo2 Sumando 2 matrices 2x3"; //Declarendo las matrices int[,] Metrizt = new int[2,31; int[,] Matriz2 = new int [2,3]; int[,] Matriz3= new int[2,3]3 //Digitamos 1a primer matriz Console-lirite("Digitamos 1a priner matriz [1]"); Console.tirite("\n")5 for (int i = @; i < 25 itt) {// for externo para filas for (int j = @; 3 < 3; j++) {// for interno pare colunnas Console.birite("Ingrese el elemento [" + i+ Natriza[i,j] = int.Parse(Console.ReadLine()); + + Console.tirite("\n")5 //Oigitamos 1a segunda matriz Console.lirite("Digitamos la segunda matriz [2]"); Console.tirite("\n"); for (int i= @; i < 2; itt) 24 25 26 27 28 23 3e 31. 32 33 34 35 36 37 38. 38. 40 an 42 43 44 45 46. a7 43 49 58 51. 52 53 54 55 56 {// for externo para filas //Liamamos a un procedimiento pera visuelizer el resultado i ror (int j= @; 5 < 35 j++) {// for interno para colunnas Console.Write("Ingrese el elenento ["+i+", Matriz2[i, j] = int.Parse(Console.ReadLine()); } } Console.Write("\n"); +5 //Realizamos e1 célculo de la suma de las 2 matrices Console.Write("Sumando las 2 matrices anteriores"); « fi t ‘onsole.Write("\n"); for (int i= @; i < 25 itt) // for externo para filas for (int j= @; j <3; J+) {// for interno para colunnas Matriz3[i,j] , } Mostrar(Matriz3) ; Console. ReadKey(); r static void Mostrar(int[,] Matriz3) t fe t for (int i = 0; i < 25 i++) Console.Write("\n"); for (int j= 0; 5 < 3; 3+) { Console.Write("\t" + Matriz3[i,j] + ? r r Matrizi[i,j] + Matriz2[i,]s Ne; G9Ejemple3. Se fiene la siguiente informacion + Nombres de 4 operarios + Ingresos en concepto de suelde, cobrado por cada operario, en los slimes 3 meses. Realizar un programa para a. Realizar el ingreso de la informacién mencionada. b. Generar un vector que contenge el ingreso acumulade en veldes en lee Ultimes 3 meses para cada operorio, . Mostrar por pantalla el total pagado en sueldos a todos los operarios en los illimos 3 meses. d. Obtener el nombre de! operaric que twvo el mayor ingreso acumulado Console. Foregroundcolor = Consolecolor. Slack; Console.BackgroundColor = ConsoleColor. Whites Console.Title = “Ejemplo3 de matrices con vectores' Console.Clear(); String[] empleados = new String[4]; int[,] sueldos = new int[4,3]; int[] sueldostot = new int[4]; int x = empleados. Length; BORE ER EB oovonsune Console.Wiriteline(*el valor de x es: " + x); {/Primera Parte for (int #50; cx; ##+) t Console.write("Ingrese el nombre del operario “#(##1)+": "); empleados[f] = Console.ReadLine(); int y = sueldos.GetLength(1); // devuelve el tamafio de 1a columna for (int c=; cy; cH) 7 { 18 Console.Write("Ingrese sueldo " + (c +1) + 18 sueidos[f,c] = int.Parse(Console.ReadLine()); 26 } 21} 23 int z = sueldos.GetLength(@); // devuelve el tamafio de 1a fila 24 for (int f=0;F<2;F++) 2 { 26 0 int sum 27 int @ = sueldos.GetLength(1); 28 for (int c=@;c "+ "\t $" + sueldostot[#]); 4} 42. //Cuarta Parte 43. int may = sueldostot[0]; 44 string nom = empleados[6]; 45 for (int # = 8; # ¢ sueldostot.Length; ++) 46 { 47 if (sueldostot[#] > may) 48 { 48 may = sueldostot[#]; se nom = empleados[#]; 51 } 52 } 53 Console.WriteLine("E1 operario con mayor sueldo es de $" + may); 534 Console.Readkey(); + + nom +" que tiene un sueldo ee I<} I valor de x es: 4 Bs ‘el nonbre del operario 1: Luisito Buendia ‘suelde 1 del operario 2: Panelita Martinez del operario 3: Claudia Monterrosa 150 del operario 4: Gabriela Belen 150 ies 200 otal de sueldos pagados por Operario. wisite Buendia — Bie vane Lita Hart inez ~ 169 458 335 Veyeraric con nayer cuside ee Gabriela Belen que tiene un cueldo de $535 | G9Ejemplo4. Hacer un programa © algeritme que permite eliminar un alumne de un salén de clase, dada una pesicién indicade. Por ejemplo tenemos una matriz 3 x 3 vd V1 aa Y queremes eliminar la posicién [0,2], nos doria la siguiente respueste x=xS Console.Title = "Ejemplod de Matrices"; Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = Consolecolor. White; Console. Clear(); int #,¢5 int[,] M= new int [3,315 Console.Write("Digitamos le matriz”); Console.Write("\n")3 for(int i=0;ic3;ie) { for(int j20;5<3;5++) { Console.Write("Ingrese el elemento ["+i+","+j +" M[i, 3] = int.Parse(Console.ReadLine()); + } Console.WiriteLine("\n"); for (int i = @; i <3; i++) { Console.brite("\t\t"); for (int j = @5 5 < 35 i++) { Console.Write(M[i,3] +" ")3 + Console.briteLine("\n"); + Console.iriteLine("Ingrese 1a posicion del alumno a eliminar"); Console.Write("Ingresa fila: "); ¥ = int.Parse(Console.ReadLine()); Console.tinite("Ingresa coluna: "); ¢ = int.Parse(Console.ReadLine()); M[F,c Console.WriteLine("\n")3 for (int i= @; i <3; i++) { Console.Write("\t\t"); for (int j= @; 5 < 35 G+) { Console.hirite(M[i, 5] + + Console.hriteLine("\n"); + Console.Readkey(); } elenento elemento elemento elemento elemento elemento elemento elemento elemento Nomenaven 58 62 46 1a posicion del alumo a elininar fila: £ colunna: 1 Analisis de Resultados 1. Desarrollar una eplicacién que pide al usvario le dimensién de una matriz, le cargue y le diga cvantos de los elementos ingresados fueron positives, negatives y ceros. 2. Deserrollar una aplicacién que busque el mayor y el menor elemento en une matiiz. 3. Escriba un programa que realice lo coptura de dates de una matriz de nimeros enteros con (3x4) elementos y luego saque el promedio de la matriz. Investigacion Complementaria 1. Desarrellar una aplicacién utlizando funciones © procedimientes para buscar cualquier elemento deniro de una metriz y mencione ademés la posicién en donde se encuentra. 2. Utilizando un vector fipe carécler y una mairiz numérica, realice un programa que lea los nombres de un grupo de alumnos y 3 notas, elmacena las notas en la matriz. Caleule el promedio para cada cclumno y luego muettre el tad de lo alumnes con las netas respectivas Bibliografia + Deitel, Harvey M. y Paul J. Deitel, Cémo Programar en Cit, Segunda Edicién, México, 2007,

También podría gustarte