SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Aplicaciones con Arreglos
Supongamos que queremos utilizar una aplicación para pedir los valores de dos matrices A y
B y obtener una matriz C resultante, la cual sería la suma de cada elemento correspondiente
a los elementos de A y de B.
La aplicación pudiera quedar como sigue:
import java.io.*;
public class AplicacionMatrices6 {
public static void main(String[] args) throws IOException {
int a[][] = new int[3][3];
int b[][] = new int[3][3];
int c[][] = 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 de la matriz a
System.out.println("Pidiendo Valores Matriz A");
for (int i=0; i<a.length; i++) {
for (int j=0; j<a[0].length; j++) {
System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : ");
a[i][j] = Integer.parseInt(in.readLine());
}
System.out.println();
}
// pidiendo los datos del teclado de la matriz b
System.out.println("Pidiendo Valores Matriz B");
for (int i=0; i<b.length; i++) {
for (int j=0; j<b[0].length; j++) {
System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : ");
b[i][j] = Integer.parseInt(in.readLine());
}
System.out.println();
}
//desplegando los valores por renglon matriz a
System.out.println("Matriz A");
III. Desarrollo de aplicaciones con manejo
de datos en la memoria
for (int i=0; i<a.length; i++) {
for (int j=0; j<a[0].length; j++) {
System.out.print(" " + a[i][j] + " ");
}
System.out.println();
}
System.out.println();
//desplegando los valores por renglon matriz b
System.out.println("Matriz B");
for (int i=0; i<b.length; i++) {
for (int j=0; j<b[0].length; j++) {
System.out.print(" " + b[i][j] + " ");
}
System.out.println();
}
System.out.println();
// sacando la suma de a+b en c
for (int i=0; i<b.length; i++) {
for (int j=0; j<b[0].length; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
//desplegando los valores por renglon matriz c resultante
System.out.println("Matriz C");
for (int i=0; i<b.length; i++) {
for (int j=0; j<b[0].length; j++) {
System.out.print(" " + c[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
}
Dicha aplicación muestra la siguiente salida:
Vemos como la clave de la asignación de cada elemento de la matriz resultante es tomar
cada elemento de cada matriz correspondiente:
c[i][j] = a[i][j] + b[i][j];
donde i varia primero que la j, tomando los diferentes valores ayudados para esto con cada
uno de los ciclos.
Menú de operaciones con una matriz
La siguiente aplicación nos ayuda a visualizar la manera en la que podemos partir la
aplicación en pequeños problemas, solucionando uno a cada tiempo y uniendo todos los
elementos en un menú que utiliza los métodos predefinidos para lectura de datos de
cualquier matriz, despliegue de los elementos de cualquier matriz, suma y promedios, la
aplicación quedaría como la siguiente:
import java.io.*;
public class AplicacionMatrices7 {
private static final int REN = 3;
private static final int COL = 3;
// para pedir los valores de teclado de cualquier matriz ya creada
public static void pide_matriz(int matriz[][]) throws IOException{
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
for (int i=0; i<matriz.length; i++) {
for (int j=0; j<matriz[0].length; j++) {
System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : ");
matriz[i][j] = Integer.parseInt(in.readLine());
}
System.out.println();
}
}
// para desplegar los datos de cualquier matriz
public static void despliega_matriz(int matriz[][]) {
for (int i=0; i<matriz.length; i++) {
for (int j=0; j<matriz[0].length; j++) {
System.out.print(" " + matriz[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
// dadas las matrices a y b, las suma en c
public static void suma(int a[][], int b[][], int c[][]) {
for (int i=0; i<b.length; i++) {
for (int j=0; j<b[0].length; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
}
// para calcular el promedio de la matriz cualquiera que sea
public static double promedio(int matriz[][]) {
double suma = 0d;
for (int i=0; i<matriz.length; i++) {
for (int j=0; j<matriz[0].length; j++) {
suma += matriz[i][j];
}
}
return suma/(matriz.length * matriz[0].length);
}
public static void main(String[] args) throws IOException {
char opcion;
int a[][] = new int[REN][COL];
int b[][] = new int[REN][COL];
int c[][] = new int[REN][COL];
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
opcion = ' ';
while (opcion != '5') {
System.out.println(" Menu de Matrices");
System.out.println();
System.out.println("1. Pedir datos matrices A y B");
System.out.println("2. Desplegar datos Matrices A y B");
System.out.println("3. Obtener Suma en C y desplegarla");
System.out.println("4. Desplegar Promedio de A y de B");
System.out.println("5. Fin");
System.out.println("¿Opcion deseada (1-5) ?");
opcion = in.readLine().charAt(0);
switch (opcion) {
case ('1') :
pide_matriz(a);
pide_matriz(b);
break;
case ('2') :
despliega_matriz(a);
despliega_matriz(b);
break;
case ('3') :
suma(a, b, c);
despliega_matriz(c);
break;
case ('4') :
System.out.println("El promedio de matriz A = " + promedio(a));
System.out.println("El promedio de matriz B = " + promedio(b));
break;
case ('5') :
System.out.println("Hasta Luego!");
break;
default:
System.out.println("Opcion debe ser de 1 a 5");
break;
};
}
}
}
La aplicación ejecutada se muestra en los siguientes desplegados:
Con la opción 1.-
Con la opción 2.-
Con la opción 3.-
Con la opción 4.-
Y finalmente salir opcion 5.-
Es importante hacer notar aquí que cada método tiene una tarea importante y que utilizando
el método y mandándole el parámetro necesario, obtenemos el resultado adecuado.

Weitere ähnliche Inhalte

Was ist angesagt? (18)

Intro Java 3
Intro Java 3Intro Java 3
Intro Java 3
 
Arreglos
ArreglosArreglos
Arreglos
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Arreglos
ArreglosArreglos
Arreglos
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
7.arreglos y vectores en c++
7.arreglos y vectores en c++7.arreglos y vectores en c++
7.arreglos y vectores en c++
 
Java 1
Java 1Java 1
Java 1
 
Elaborar una calculadora
Elaborar una calculadoraElaborar una calculadora
Elaborar una calculadora
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
Arrays bidimensionales
Arrays bidimensionalesArrays bidimensionales
Arrays bidimensionales
 
Arreglos En Una Dimension
Arreglos En Una DimensionArreglos En Una Dimension
Arreglos En Una Dimension
 
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)
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 

Andere mochten auch

Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...
Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...
Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...Sanjoy Sen
 
Cambodia - April 2013
Cambodia - April 2013Cambodia - April 2013
Cambodia - April 2013Sanjoy Sen
 
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
 
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 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 4 -01 introduccion coleccionesluis freddy
 
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
 
OpenStack by the Numbers
OpenStack by the NumbersOpenStack by the Numbers
OpenStack by the NumbersTesora
 
AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)
AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)
AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)Thomas Hugger
 
Sanjoy Sen Asia Pacific Retail Banking Conference-Jan 2013
Sanjoy Sen  Asia Pacific Retail Banking Conference-Jan 2013Sanjoy Sen  Asia Pacific Retail Banking Conference-Jan 2013
Sanjoy Sen Asia Pacific Retail Banking Conference-Jan 2013Sanjoy Sen
 

Andere mochten auch (11)

Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...
Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...
Sanjoy Sen - World Cards Conference - Key Note Presentation - Global Trends &...
 
Cambodia - April 2013
Cambodia - April 2013Cambodia - April 2013
Cambodia - April 2013
 
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
 
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
 
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
 
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
 
OpenStack by the Numbers
OpenStack by the NumbersOpenStack by the Numbers
OpenStack by the Numbers
 
AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)
AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)
AFC Vietnam Fund presentation 2013.12.02 (Asia Frontier Capital Ltd.)
 
Sanjoy Sen Asia Pacific Retail Banking Conference-Jan 2013
Sanjoy Sen  Asia Pacific Retail Banking Conference-Jan 2013Sanjoy Sen  Asia Pacific Retail Banking Conference-Jan 2013
Sanjoy Sen Asia Pacific Retail Banking Conference-Jan 2013
 
Semaforo
SemaforoSemaforo
Semaforo
 

Ähnlich wie 3 desarollo manejo datos capitulo 2 -03 aplicaciones arreglos dos dime

Ähnlich wie 3 desarollo manejo datos capitulo 2 -03 aplicaciones arreglos dos dime (20)

3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
 
Hola mundo
Hola mundoHola mundo
Hola mundo
 
Matrices
MatricesMatrices
Matrices
 
UI - AVI
UI - AVIUI - AVI
UI - AVI
 
Vector
Vector Vector
Vector
 
ESTRUCTURA DE DATOS ALEXIS ROJAS
ESTRUCTURA DE DATOS  ALEXIS ROJASESTRUCTURA DE DATOS  ALEXIS ROJAS
ESTRUCTURA DE DATOS ALEXIS ROJAS
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
ALGORITMOS EN JAVA
ALGORITMOS EN JAVAALGORITMOS EN JAVA
ALGORITMOS EN JAVA
 
Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01
 
Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01
 
Cecytem
CecytemCecytem
Cecytem
 
Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.
 
Matrices en java
Matrices en javaMatrices en java
Matrices en java
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Código Java Ecuación cuadrática
Código Java Ecuación cuadráticaCódigo Java Ecuación cuadrática
Código Java Ecuación cuadrática
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Creacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeansCreacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeans
 
Compilación con DOS.
Compilación con DOS.Compilación con DOS.
Compilación con DOS.
 
Compilar mediante dos
Compilar mediante dosCompilar mediante dos
Compilar mediante dos
 

3 desarollo manejo datos capitulo 2 -03 aplicaciones arreglos dos dime

  • 1. Aplicaciones con Arreglos Supongamos que queremos utilizar una aplicación para pedir los valores de dos matrices A y B y obtener una matriz C resultante, la cual sería la suma de cada elemento correspondiente a los elementos de A y de B. La aplicación pudiera quedar como sigue: import java.io.*; public class AplicacionMatrices6 { public static void main(String[] args) throws IOException { int a[][] = new int[3][3]; int b[][] = new int[3][3]; int c[][] = 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 de la matriz a System.out.println("Pidiendo Valores Matriz A"); for (int i=0; i<a.length; i++) { for (int j=0; j<a[0].length; j++) { System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : "); a[i][j] = Integer.parseInt(in.readLine()); } System.out.println(); } // pidiendo los datos del teclado de la matriz b System.out.println("Pidiendo Valores Matriz B"); for (int i=0; i<b.length; i++) { for (int j=0; j<b[0].length; j++) { System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : "); b[i][j] = Integer.parseInt(in.readLine()); } System.out.println(); } //desplegando los valores por renglon matriz a System.out.println("Matriz A"); III. Desarrollo de aplicaciones con manejo de datos en la memoria
  • 2. for (int i=0; i<a.length; i++) { for (int j=0; j<a[0].length; j++) { System.out.print(" " + a[i][j] + " "); } System.out.println(); } System.out.println(); //desplegando los valores por renglon matriz b System.out.println("Matriz B"); for (int i=0; i<b.length; i++) { for (int j=0; j<b[0].length; j++) { System.out.print(" " + b[i][j] + " "); } System.out.println(); } System.out.println(); // sacando la suma de a+b en c for (int i=0; i<b.length; i++) { for (int j=0; j<b[0].length; j++) { c[i][j] = a[i][j] + b[i][j]; } } //desplegando los valores por renglon matriz c resultante System.out.println("Matriz C"); for (int i=0; i<b.length; i++) { for (int j=0; j<b[0].length; j++) { System.out.print(" " + c[i][j] + " "); } System.out.println(); } System.out.println(); } } Dicha aplicación muestra la siguiente salida:
  • 3. Vemos como la clave de la asignación de cada elemento de la matriz resultante es tomar cada elemento de cada matriz correspondiente: c[i][j] = a[i][j] + b[i][j]; donde i varia primero que la j, tomando los diferentes valores ayudados para esto con cada uno de los ciclos. Menú de operaciones con una matriz La siguiente aplicación nos ayuda a visualizar la manera en la que podemos partir la aplicación en pequeños problemas, solucionando uno a cada tiempo y uniendo todos los elementos en un menú que utiliza los métodos predefinidos para lectura de datos de cualquier matriz, despliegue de los elementos de cualquier matriz, suma y promedios, la
  • 4. aplicación quedaría como la siguiente: import java.io.*; public class AplicacionMatrices7 { private static final int REN = 3; private static final int COL = 3; // para pedir los valores de teclado de cualquier matriz ya creada public static void pide_matriz(int matriz[][]) throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); for (int i=0; i<matriz.length; i++) { for (int j=0; j<matriz[0].length; j++) { System.out.print("Da elemento " + (i+1)+ " , " + (j+1) + " : "); matriz[i][j] = Integer.parseInt(in.readLine()); } System.out.println(); } } // para desplegar los datos de cualquier matriz public static void despliega_matriz(int matriz[][]) { for (int i=0; i<matriz.length; i++) { for (int j=0; j<matriz[0].length; j++) { System.out.print(" " + matriz[i][j] + " "); } System.out.println(); } System.out.println(); } // dadas las matrices a y b, las suma en c public static void suma(int a[][], int b[][], int c[][]) { for (int i=0; i<b.length; i++) { for (int j=0; j<b[0].length; j++) { c[i][j] = a[i][j] + b[i][j]; } } } // para calcular el promedio de la matriz cualquiera que sea public static double promedio(int matriz[][]) { double suma = 0d; for (int i=0; i<matriz.length; i++) { for (int j=0; j<matriz[0].length; j++) { suma += matriz[i][j]; } }
  • 5. return suma/(matriz.length * matriz[0].length); } public static void main(String[] args) throws IOException { char opcion; int a[][] = new int[REN][COL]; int b[][] = new int[REN][COL]; int c[][] = new int[REN][COL]; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); opcion = ' '; while (opcion != '5') { System.out.println(" Menu de Matrices"); System.out.println(); System.out.println("1. Pedir datos matrices A y B"); System.out.println("2. Desplegar datos Matrices A y B"); System.out.println("3. Obtener Suma en C y desplegarla"); System.out.println("4. Desplegar Promedio de A y de B"); System.out.println("5. Fin"); System.out.println("¿Opcion deseada (1-5) ?"); opcion = in.readLine().charAt(0); switch (opcion) { case ('1') : pide_matriz(a); pide_matriz(b); break; case ('2') : despliega_matriz(a); despliega_matriz(b); break; case ('3') : suma(a, b, c); despliega_matriz(c); break; case ('4') : System.out.println("El promedio de matriz A = " + promedio(a)); System.out.println("El promedio de matriz B = " + promedio(b)); break; case ('5') : System.out.println("Hasta Luego!"); break; default: System.out.println("Opcion debe ser de 1 a 5"); break; }; } }
  • 6. } La aplicación ejecutada se muestra en los siguientes desplegados: Con la opción 1.- Con la opción 2.-
  • 7. Con la opción 3.- Con la opción 4.- Y finalmente salir opcion 5.-
  • 8. Es importante hacer notar aquí que cada método tiene una tarea importante y que utilizando el método y mandándole el parámetro necesario, obtenemos el resultado adecuado.