SlideShare una empresa de Scribd logo
1 de 7
Operaciones con Matrices
Utilizar una matriz para hacer operaciones con ella, en la mayoría de las veces implica el uso
de la instrucción for anidada, pues para poder tomar o actualizar cada elemento de la matriz,
es necesario utilizar índice por renglón y el índice por columna, y es por esto que el for es la
instrucción ideal, un for para el renglón y otro para la columna.
Por ejemplo como lo vimos en el tema pasado, para inicializar una matriz ya una vez definida
podemos utilizar
int arreglo[][] = new int [2][5];
for (int i=0; i<2; i++) {
for (int j=0; j<5; j++) {
arreglo [i][j] = i*5 + j + 1;
}
}
Pero también podemos utilizar la variable length, la cual es definida para todo arreglo en
Java, y esta representa el número máximo de renglones, así como para cada renglón
representa el número máximo de columnas en la matriz, es decir para el ejemplo anterior
quedaría como:
int arreglo[] = new int [2][5];
for (int i=0; i<arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
arreglo [i][j] = i*arreglo[0].length + j + 1;
}
}
Al hacer operaciones con arreglos es muy común que utilicemos también una constante para
definir el máximo valor a utilizar en la matriz, es decir para el ejemplo anterior quedaría
como:
final int REN = 2;
final int COL = 5;
int arreglo[] = new int [REN][COL];
for (int i=0; i<REN; i++) {
for (int j=0; j<COL; j++) {
arreglo [i][j] = i*COL + j + 1;
}
}
III. Desarrollo de aplicaciones con manejo
de datos en la memoria
Donde REN y COL son constantes (definidas así al usar la cláusula final) que valdrán 2 y 5
correspondientemente durante la ejecución del método, clase o parte donde se encuentre
definida.
Sacando el mayor de una matriz
Cuando deseamos obtener el valor mayor de todos los valores definidos en una matriz,
debemos recorrer toda la matriz y utilizar una variable que nos ayude en esta comparación.
La mejor manera de inicializar esta variable es utilizar el primer valor de la matriz, por
ejemplo (asumiendo que la matriz ya tiene valores):
int mayor = arreglo[0][0]; // se toma el primer valor como el mayor
// se revisa cada elemento en la matriz
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
// si el elemento de la matriz es mayor
if (arreglo[i][j] > mayor) {
// cambiamos el valor del mayor
mayor = arreglo[i][j];
}
}
}
System.out.println(“El valor mayor es “ + mayor);
Tomando el índice en el que se encuentra
Para hacer esto definimos otra variable, la cual debe empezar con 0 y si el valor de la matriz
es mayor, además de hacer el cambio de mayor, actualizamos la posición del renglón y la
columna de donde se encontró el mayor, el ejemplo quedaría como sigue (asumiendo que la
matriz ya tiene valores):
int posicioni = 0;
int posicionj = 0;
int mayor = arreglo[0][0]; // se toma el primer valor como el mayor
// se revisa cada elemento en la matriz desde el segundo
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
// si el elemento de la matriz es mayor
if (arreglo[i][j] > mayor) {
// cambiamos el valor del mayor
mayor = arreglo[i][j];
posicioni = i;
posicionj = j;
}
}
}
System.out.println(“El valor mayor es “ + mayor);
System.out.println(“Y esta en el renglón “ + (posicioni +1));
System.out.println(“columna “ + (posicionj +1));
Si queremos saber en que posición se encontró el mayor valor, entonces utilizamos dos
variables, como se observó en la aplicación, una para la posición del renglón (posicioni) y
otra para la posición de la columna (posicionj).
Sacando el menor de una matriz y su posición
Para obtener el valor menor, solo se cambia la comparación y en lugar de comparar contra
mayor, solo se compara contra menor, el ejemplo lo vemos como sigue (asumiendo que la
matriz ya tiene valores):
int posicioni = 0;
int posicionj = 0;
int menor = arreglo[0][0]; // se toma el primer valor como el mayor
// se revisa cada elemento en la matriz desde el segundo
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
// si el elemento de la matriz es menor
if (arreglo[i][j] < menor) {
// cambiamos el valor del menor
menor = arreglo[i][j];
posicioni = i;
posicionj = j;
}
}
}
System.out.println(“El valor menor es “ + mayor);
System.out.println(“Y esta en el renglón “ + (posicioni +1));
System.out.println(“columna “ + (posicionj +1));
Obteniendo el promedio de la matriz
Para obtener el promedio de una matriz, se debe de sumar los elementos y dividir entre
cuantos sean, el ejemplo lo vemos como sigue (asumiendo que la matriz ya tiene valores):
double promedio;
double suma = 0; // se inicializa la suma en cero
// se tomara cada elemento para sumarlo
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
suma += arreglo[i][j];
}
}
promedio = suma / arreglo.length;
System.out.println(“El promedio es “ + promedio);
A continuación se presenta una aplicación que utiliza todos estos conceptos para su
visualización:
Esta aplicación se muestra a continuación:
import java.io.*;
public class AplicacionMatrices5 {
public static void main(String[] args) throws IOException {
int arreglo[][] = new int[3][3];
// definiendo un objeto de entrada para tomar datos del teclado
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
// pidiendo los datos del teclado
for (int i=0; i<arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : ");
arreglo[i][j] = Integer.parseInt(in.readLine());
}
System.out.println();
}
//desplegando los valores por renglon
for (int i=0; i<arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
System.out.print(" " + arreglo[i][j] + " ");
}
System.out.println();
}
System.out.println();
// sacando el mayor
int posicioni = 0;
int posicionj = 0;
int mayor = arreglo[0][0]; // se toma el primer valor como el mayor
// se revisa cada elemento en la matriz desde el segundo
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
// si el elemento de la matriz es mayor
if (arreglo[i][j] > mayor) {
// cambiamos el valor del mayor
mayor = arreglo[i][j];
posicioni = i;
posicionj = j;
}
}
}
System.out.println("El valor mayor es " + mayor);
System.out.println("Y esta en el renglon " + (posicioni +1));
System.out.println("columna " + (posicionj +1));
System.out.println();
//sacando el menor
int menor = arreglo[0][0]; // se toma el primer valor como el mayor
// se revisa cada elemento en la matriz desde el segundo
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
// si el elemento de la matriz es mayor
if (arreglo[i][j] < menor) {
// cambiamos el valor del mayor
menor = arreglo[i][j];
posicioni = i;
posicionj = j;
}
}
}
System.out.println("El valor menor es " + menor);
System.out.println("Y esta en el renglon " + (posicioni +1));
System.out.println("columna " + (posicionj +1));
System.out.println();
//obteniendo el promedio de la matriz
double promedio;
double suma = 0; // se inicializa la suma en cero
// se tomara cada elemento para sumarlo
for (int i=0; i < arreglo.length; i++) {
for (int j=0; j<arreglo[0].length; j++) {
suma += arreglo[i][j];
}
}
promedio = suma / (arreglo.length * arreglo[0].length);
System.out.println("El promedio es " + promedio);
}
}
System.out.println("El promedio es " + promedio);
}
}

Más contenido relacionado

Destacado

3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetosluis freddy
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetosluis freddy
 
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetosluis freddy
 

Destacado (6)

3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
 
Java 1
Java 1Java 1
Java 1
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
 
Semaforo555
Semaforo555Semaforo555
Semaforo555
 
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
3 desarollo manejo datos capitulo 3 -03 aplicaciones arreglo objetos
 
Semaforo
SemaforoSemaforo
Semaforo
 

Similar a 3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime

Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamientoIINTERACTIVE
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)luis freddy
 
Algoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionAlgoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionJONY21
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamientolichic
 
Programación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método BurbujaProgramación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método BurbujaEVelyn MIchelle
 
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)luis freddy
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosK Manuel TN
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicioJonathanSevilla9
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicioBelenRosales12
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicioAlisonPrez4
 

Similar a 3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (20)

Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Matrices en java
Matrices en javaMatrices en java
Matrices en java
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
 
Algoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionAlgoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacion
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Programación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método BurbujaProgramación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método Burbuja
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Java
JavaJava
Java
 
Presentacion
PresentacionPresentacion
Presentacion
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
3 desarollo manejo datos capitulo 1 -01 arreglos de dimension (6)
 
Unidad 5 informe técnico
Unidad 5 informe técnicoUnidad 5 informe técnico
Unidad 5 informe técnico
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
30
3030
30
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicio
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicio
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicio
 

Último

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 

Último (20)

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 

3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime

  • 1. Operaciones con Matrices Utilizar una matriz para hacer operaciones con ella, en la mayoría de las veces implica el uso de la instrucción for anidada, pues para poder tomar o actualizar cada elemento de la matriz, es necesario utilizar índice por renglón y el índice por columna, y es por esto que el for es la instrucción ideal, un for para el renglón y otro para la columna. Por ejemplo como lo vimos en el tema pasado, para inicializar una matriz ya una vez definida podemos utilizar int arreglo[][] = new int [2][5]; for (int i=0; i<2; i++) { for (int j=0; j<5; j++) { arreglo [i][j] = i*5 + j + 1; } } Pero también podemos utilizar la variable length, la cual es definida para todo arreglo en Java, y esta representa el número máximo de renglones, así como para cada renglón representa el número máximo de columnas en la matriz, es decir para el ejemplo anterior quedaría como: int arreglo[] = new int [2][5]; for (int i=0; i<arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { arreglo [i][j] = i*arreglo[0].length + j + 1; } } Al hacer operaciones con arreglos es muy común que utilicemos también una constante para definir el máximo valor a utilizar en la matriz, es decir para el ejemplo anterior quedaría como: final int REN = 2; final int COL = 5; int arreglo[] = new int [REN][COL]; for (int i=0; i<REN; i++) { for (int j=0; j<COL; j++) { arreglo [i][j] = i*COL + j + 1; } } III. Desarrollo de aplicaciones con manejo de datos en la memoria
  • 2. Donde REN y COL son constantes (definidas así al usar la cláusula final) que valdrán 2 y 5 correspondientemente durante la ejecución del método, clase o parte donde se encuentre definida. Sacando el mayor de una matriz Cuando deseamos obtener el valor mayor de todos los valores definidos en una matriz, debemos recorrer toda la matriz y utilizar una variable que nos ayude en esta comparación. La mejor manera de inicializar esta variable es utilizar el primer valor de la matriz, por ejemplo (asumiendo que la matriz ya tiene valores): int mayor = arreglo[0][0]; // se toma el primer valor como el mayor // se revisa cada elemento en la matriz for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { // si el elemento de la matriz es mayor if (arreglo[i][j] > mayor) { // cambiamos el valor del mayor mayor = arreglo[i][j]; } } } System.out.println(“El valor mayor es “ + mayor); Tomando el índice en el que se encuentra Para hacer esto definimos otra variable, la cual debe empezar con 0 y si el valor de la matriz es mayor, además de hacer el cambio de mayor, actualizamos la posición del renglón y la columna de donde se encontró el mayor, el ejemplo quedaría como sigue (asumiendo que la matriz ya tiene valores): int posicioni = 0; int posicionj = 0; int mayor = arreglo[0][0]; // se toma el primer valor como el mayor // se revisa cada elemento en la matriz desde el segundo for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { // si el elemento de la matriz es mayor if (arreglo[i][j] > mayor) { // cambiamos el valor del mayor mayor = arreglo[i][j]; posicioni = i; posicionj = j; } } } System.out.println(“El valor mayor es “ + mayor); System.out.println(“Y esta en el renglón “ + (posicioni +1)); System.out.println(“columna “ + (posicionj +1));
  • 3. Si queremos saber en que posición se encontró el mayor valor, entonces utilizamos dos variables, como se observó en la aplicación, una para la posición del renglón (posicioni) y otra para la posición de la columna (posicionj). Sacando el menor de una matriz y su posición Para obtener el valor menor, solo se cambia la comparación y en lugar de comparar contra mayor, solo se compara contra menor, el ejemplo lo vemos como sigue (asumiendo que la matriz ya tiene valores): int posicioni = 0; int posicionj = 0; int menor = arreglo[0][0]; // se toma el primer valor como el mayor // se revisa cada elemento en la matriz desde el segundo for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { // si el elemento de la matriz es menor if (arreglo[i][j] < menor) { // cambiamos el valor del menor menor = arreglo[i][j]; posicioni = i; posicionj = j; } } } System.out.println(“El valor menor es “ + mayor); System.out.println(“Y esta en el renglón “ + (posicioni +1)); System.out.println(“columna “ + (posicionj +1)); Obteniendo el promedio de la matriz Para obtener el promedio de una matriz, se debe de sumar los elementos y dividir entre cuantos sean, el ejemplo lo vemos como sigue (asumiendo que la matriz ya tiene valores): double promedio; double suma = 0; // se inicializa la suma en cero // se tomara cada elemento para sumarlo for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { suma += arreglo[i][j]; } } promedio = suma / arreglo.length; System.out.println(“El promedio es “ + promedio); A continuación se presenta una aplicación que utiliza todos estos conceptos para su visualización:
  • 4. Esta aplicación se muestra a continuación: import java.io.*; public class AplicacionMatrices5 { public static void main(String[] args) throws IOException { int arreglo[][] = new int[3][3]; // definiendo un objeto de entrada para tomar datos del teclado BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); // pidiendo los datos del teclado for (int i=0; i<arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : "); arreglo[i][j] = Integer.parseInt(in.readLine()); } System.out.println(); } //desplegando los valores por renglon for (int i=0; i<arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { System.out.print(" " + arreglo[i][j] + " "); } System.out.println(); }
  • 5. System.out.println(); // sacando el mayor int posicioni = 0; int posicionj = 0; int mayor = arreglo[0][0]; // se toma el primer valor como el mayor // se revisa cada elemento en la matriz desde el segundo for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { // si el elemento de la matriz es mayor if (arreglo[i][j] > mayor) { // cambiamos el valor del mayor mayor = arreglo[i][j]; posicioni = i; posicionj = j; } } } System.out.println("El valor mayor es " + mayor); System.out.println("Y esta en el renglon " + (posicioni +1)); System.out.println("columna " + (posicionj +1)); System.out.println(); //sacando el menor int menor = arreglo[0][0]; // se toma el primer valor como el mayor // se revisa cada elemento en la matriz desde el segundo for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { // si el elemento de la matriz es mayor if (arreglo[i][j] < menor) { // cambiamos el valor del mayor menor = arreglo[i][j]; posicioni = i; posicionj = j; } } } System.out.println("El valor menor es " + menor); System.out.println("Y esta en el renglon " + (posicioni +1)); System.out.println("columna " + (posicionj +1)); System.out.println(); //obteniendo el promedio de la matriz double promedio; double suma = 0; // se inicializa la suma en cero // se tomara cada elemento para sumarlo for (int i=0; i < arreglo.length; i++) { for (int j=0; j<arreglo[0].length; j++) { suma += arreglo[i][j]; } } promedio = suma / (arreglo.length * arreglo[0].length);