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

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
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
 
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 era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
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
 
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
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
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
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
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
 
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 era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
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
 
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
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
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.
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

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);