ICEPAL: SISTEMAS INFORMÁTICOS PROGRAMACIÓN II JAVA
APUNTES
MATRICES
Una matriz es un array bidimensional (filas y columnas).
Ejemplos de Matrices:
Matriz de enteros: 1 4 7 matriz de reales: 3.1 0.3 12.3
2 5 8 2.4 1.1 1.23
3 6 9 7.0 0.11 3.0
‘s’ ‘@’ ‘3’
Matriz de caracteres: ‘A’ ‘&’ ‘0’
‘.’ ‘’ ‘a’
Una matriz debe tener un nombre. Ejemplo:
1 4 7
ma = 2 5 8 elementos de matriz
3 6 9
8 3 4
nombre de la matriz elementos de matriz
Cada elemento de la matriz tiene una posición compuesta por una fila y columna.
Al igual que los vectores, en una matriz su posición inicial empieza en cero, es decir, el
primer elemento su posición compuesta por una fila y una columna serán cero.
Ejemplo, una matriz de 4 filas x 5 columnas, es decir una matriz de: (4x5):
Posición de las columnas
0 1 2 3 4
0 1 342 100 3 11
1 2 3 34 6 23
Posición de las filas
2 9 10 4 8 56
3 8 22 200 5 99
Entonces:
ma[0][0] tiene el dato 1
ma[0][4] tiene el dato 11
ma[4][0] error, porque no existe la fila 4
ma[2][5] error, porque no existe la columna 5
ma[3][3] tiene el dato 5
etc.
ICEPAL: SISTEMAS INFORMÁTICOS PROGRAMACIÓN II JAVA
DECLARACIÓN DE UNA MATRIZ
Los arrays bidimensionales (matrices) ocupan espacio en memoria y la forma de declarar
es: el tipo de dato que almacena, precedido de doble [][] corchete (la primera para las filas
y la segunda para las columnas), nombre y el uso del operador new, que es para asignar
espacio de almacenamiento al número de elementos requerido por la matriz, entonces para
declarar una matriz de nombre ma, vendría a ser de la siguiente manera:
Fila
Columna
int [][]ma = new int[4][5];
Tipo de dato que
Nombre de la matriz Tamaño de la matriz
almacena la matriz
Ejemplos:
1. escribir un programa para insertar datos por teclado en una matriz de 3x3.
Seguidamente muestre los datos de la matriz.
import [Link].*;
public class Matriz1
{
public static void main(String[] args)
{
Scanner en = new Scanner([Link]);
int [][]ma = new int[3][3];
int i, k;
for(i=0; i<3; i++)
for(k=0; k<3; k++)
ma[i][k] = [Link]();
for(i=0; i<3; i++)
{
for(k=0; k<3; k++)
[Link](ma[i][k] + " ");
[Link]();
}
}
}
2. Escribir un programa para insertar datos en una matriz de n x m (n y m introducidos por
teclado). Seguidamente muestre los datos de la matriz.
import [Link].*;
public class Matriz2
{
public static void main(String[] args)
{
Scanner en = new Scanner([Link]);
int n, m, i, k;
n = [Link]();
m = [Link]();
int[][]ma = new int[n][m];
ICEPAL: SISTEMAS INFORMÁTICOS PROGRAMACIÓN II JAVA
for(i=0; i<n; i++)
for(k=0; k<m; k++)
ma[i][k] = [Link]();
for(i=0; i<n; i++)
{
for(k=0; k<m; k++)
[Link](ma[i][k] + " ");
[Link]();
}
}
}
3. Escribir un programa para insertar datos en una matriz de n x n (n introducido por
teclado). Seguidamente muestre el número menor de la matriz.
import [Link].*;
public class Matriz3
{
public static void main(String[] args)
{
Scanner en = new Scanner([Link]);
int n, i, k, men;
n = [Link]();
int[][]ma = new int[n][n];
for(i=0; i<n; i++)
for(k=0; k<n; k++)
ma[i][k] = [Link]();
men = ma[0][0];
for(i=0; i<n; i++)
for(k=0; k<n; k++)
if(ma[i][k] < men)
men = ma[i][k];
[Link]("EL dato menor es: " + men);
}
}