Professional Documents
Culture Documents
Una matriz es una estructura de datos en la que podemos almacenar una cierta cantidad de datos los
cuales deben ser del mismo tipo(int, float, string...) posee dos subndice, el primero representa el
nmero de filas y el segundo representa la cantidad de columnas. La sintaxis para la declaracin
sera la siguiente. int[][] matriz;donde el tipo de dato puede ser el que nosotros deseemos, en ste
caso int.
Ejemplo:
columna 1
columna 2 columna 3
fila 1
fila 2
11
22
Cada elemento de la matriz posee una cierta posicin o ubicacin. Ejemplo, el dato 9 se encuentra en
la fila 1 columna 3.
IMPORTANTE:
Hay que tener en cuenta que en matemtica (lgebra lineal) empezamos a contar las filas y
columnas a partir de 1. En programacin para referirnos al dato 9 sera la fila 0 y la columna 2, dado
que empezamos a contar a partir de la posicin [0][0].
Ejemplo:
columna 0
columna 1 columna 2
fila 0
fila 1
11
22
System.out.println(matriz[0][2]);
"Desarrollar un programa en el cual se ingresen datos de tipo entero (int) en una matriz de orden m x
n donde m es el numero de filas y n el numero de columnas (el numero de filas y columnas debe
ser ingresado por el usuario). Adems, imprimir: los componentes o datos de la primera fila de la
matriz, los de la ultima fila, los de la primera columna, los de la diagonal principal (solo si es una
matriz cuadrada), el mayor de todos los datos enteros y la fila y columna a las que pertenece, los
valores que se encuentran en los vertices de la matriz y todos los datos o componentes de la matriz."
Matriz.java
1
2
3
4
5
6
7
8
9
10
11
import java.util.Scanner;
public class Matriz {
private Scanner teclado;
private int[][] matriz;
private int filas;
private int columnas;
public void cargar(){
teclado = new Scanner(System.in);
System.out.println("Ingrese la cantidad de filas de la matriz");
filas = teclado.nextInt();
System.out.println("Ingrese la cantidad de columnas de la matriz");
columnas = teclado.nextInt();
matriz = new int[filas][columnas];
for(int i=0; i <filas; i++){
for(int j=0; j<columnas;j++){
System.out.println("Ingrese componente de la matriz");
matriz[i][j] = teclado.nextInt();
12
13
14
15
16
17
18
19
20
21
22
23
24
25
}
}
}
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Explicacin:
Declaramos la matriz y las variables "filas" y "columnas" las cuales almacenarn el valor que les
demos.
Solicitamos al usuario que ingrese la cantidad de filas y columnas y luego las almacenamos en las
respectivas variables. Luego, creamos la matriz dndole al primer subndice el valor ingresado para
las filas y al segundo subndice el valor ingresado para las columnas.
Para ingresar los elementos, componentes o datos de la matriz, usamos un ciclo for dentro de otro
ciclo for dado que la matriz puede tener varias filas y cada fila puede tener varias columnas.
Para imprimir la primera fila de nuestra matriz sabemos que la primera fila sera el subndice 0 y que
sta puede tener varias columnas, por ello usamos un for que recorra todas las columnas o el
subndice j, donde j tomara el valor desde 0 hasta la cantidad de columnas que contenga la matriz.
Para imprimir la ultima fila de nuestra matriz sera: filas - 1 debido a que si la matriz contiene dos
filas para referirnos a la segunda fila sta sera el subndice [1] y no el 2. Ejemplo: una matriz de 2 x
2 la ultima fila sera la 1 ya que empezamos desde 0, por lo tanto 2- 1 = 1.
Similar al mtodo usado para la primera fila. El subndice para la primera columna sera [0].
matriz[i][0].
Los elementos de la diagonal principal de una matriz son todos los que se encuentran en los
subndices i y j donde i = j .
Digamos que i = j = D. Entonces para referirnos a los elementos de la diagonal principal
sera matriz[D][D]
Si tenemos una matriz de 3x3 (3 filas, 3 columnas) los elementos de la diagonal principal seran:
matriz[0][0], matriz[1][1], matriz[2][2]
Es IMPORTANTE tener presente que solo las matrices cuadradas poseen diagonal principal.
Entiendase matriz cuadrada como la matriz que posee la misma cantidad de filas y columnas
(matrices 2x2, 3x3, 4x4... nxn). Es por esto que usamos un if para imprimir los elementos solo
si filas == columnas, de no ser sto as arrojar un mensaje de error diciendo que la matriz ingresada
no es una matriz cuadrada.
Utilizamos el mtodo .length el cual retorna la cantidad de filas de nuestra matriz, esto le dir
al ciclo forcuantas veces se debe repetir.
Declaramos la variable mayorE y la inicializamos con el valor del elemento el cual se encuentra en
la posicin [0][0]. Tambin las variables filaE y columnaE para almacenar la fila y columna en la
que se encuentre el mayor elemento. Utilizamos un ciclo for dentro de otro ciclo for para ir
comparando cada elemento o dato. Hay que tener en cuenta que al momento de imprimir la fila o
columna en la que se encuentra el dato debemos hacerlo de la siguiente manera: filaE = i + 1; Si se
encuentra en la fila 0 diremos por pantalla que se encuentra en la fila 1 o primera fila.
Para el vrtice superior izquierdo: columnas menos 1 ya que si decimos que la matriz tiene 3
columnas empezaremos a agregar valores desde la posicion 0 hasta la 2 dado que el for se repite
mientras j sea menor a la cantidad de columnas que ingresamos ( j < columnas).
Para el vrtice inferior izquierdo: filas menos 1 ya que si decimos que la matriz tiene 4 filas
empezaremos a agregar valores desde la posicion 0 hasta la 3 dado que el for se repite mientras 1 sea
menor a la cantidad de filas que ingresamos ( i < filas).