Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMarcos Rojas Lara Modificado hace 8 años
1
ArreglosBidimensionales enjava
2
Sonestructurasdetamañofijoorganizadasporfilasy columnas. Estas estructuras almacenan valores del MISMO TIPO de dato. Cada posición se identifica por la fila y la columna Por lo general, de matrices. estasestructuras seconocen con elnombre columnas 01234 Ejemplo: 0 Estearregloesde tamaño 3 x 5 1 3 filas 5 columnas 2 f il as
3
¿Cómo java? sedefineunarreglobidimensionalen Sisevaadefinir detipo unarreglo Sisevaadefinirunarreglo bidimensionalrealde2 bidimensional de tipo entero de 3 filasy5columnas,llamado filas y 2 columnas llamado matriz, sería así: matriz, sería así: doublematriz[][]=newdouble[2][2]; intmatriz[][]=newnewint[3][5]; Primero va el número de filas y luego el número de columnas
4
¿Cómoseguardanloselementosenun arreglo bidimensional? Se utiliza el nombre de la matriz, seguido de paréntesis cuadrado con el número de la fila y posteriormente otro paréntesis cuadrado conelnúmerodelacolumna K01234 Ejemplo:Si se desea ingresarel 0 valor 6 en la fila 2, columna 3, de la matriz K, se haría así: 1 K[2][3] = 6; 6 2
5
¿Cómo se accede a los arreglo bidimensional? datos almacenados en un K01234 0 105128 Si se quiere tener acceso a sólo una posición de la matriz, se hace así: 1 23971221 System.out.println(K[1][1]); 12411640 2 Imprime 9 por consola que es el valor almacenado en la fila 1, columna 1
6
Suma=12+1+21 Suma=34 Si del mismo arreglo bidimensional, queremos sumar 3 posiciones puntuales, lo haremos así: intsuma=K[2][0]+K[0][2]+K[1][4]; K[0][2] K[1][4] K01234 0 105128 1 23971221 K[2][0] 12411640 2
7
¿Cómoserecorrenlosarreglos bidimensionalescon ciclos repetitivos? matriz012 Es necesario utilizar dos ciclos repetitivos para recorrer un arreglo bidimensional, uno para las filas y uno para las columnas. 1051 0 1 2397 Unciclo se incluye dentro del otro. for (inti=0; i<2 ;i++)i++) ParaParaelejemplodel 10 5 1 23 9 7 for (int j=0; j<3 ; j++) System.out.print(matriz[i][j]); arreglollamado matriz,losdatosque imprime son:
8
Recorriendo Número de filas primero filas Número de columnas ydespuéscolumnas El ciclo externo recorre las filas for (int i=0; i<2;i++)i++) for (int j=0; j<3 ; j++) System.out.println(matriz[i][j]); El ciclo interno recorre las columnas Ciclo externo i Ciclo interno j Matriz [i][j] 10 5 1 23 9 7 012 Mientras la variable externa i (fila) hace una iteración, la variable interna j (columna), recorre todas las columnas. 0012012012012 0 1051 1 1 2397
9
Recorriendo Número de columnas primero Número de filas columnasydespués filas El ciclo externo recorre las columnas for (int j=0; j<3; for (int i=0; i<2 j++) ; i++) El ciclo interno recorre las filas System.out.println(matriz[i][j]); La matriz se sigue accediendo primero fila (i) y luego columna (j) Ciclo externo j Ciclo interno i Matriz [i][j] 10 23 5 9 1 7 Para imprimir primero las columnas y luego las filas se intercambian los ciclos. El ciclo externo se deja para las columnas y el interno para las filas. 012 [0][0] [1][0] [0][1] [1][1] [0][2] [1][2] 0 010101010101 0 1051 1 1 2397 2
10
Diseñe un programa que permita solicitar por pantalla la cantidad de estudiantes y las notas obtenidas en una asignatura el programa debe permitir ver los estudiantes con sus notas, el promedio de sus notas y cual de los estudiantes obtuvo la nota mas alta y cual la más baja.
11
package pruebaborrrar; import java.io.IOException; import javax.swing.JOptionPane; public class borro { public static void main(String[] args) throws IOException { int x,y,indice; double mayor, menor; x=Integer.parseInt(JOptionPane.showInputDialog("ingrese la cantidad de estudiantes: ")); y=Integer.parseInt(JOptionPane.showInputDialog("ingrese la cantidad de notas x materia ")); double notas[][] = new double[x][y]; String nombres[] = new String[x]; double notafinal[] = new double[x]; // almacenar valores en el vector for (int i=0; i < x; i++) { nombres[i]= JOptionPane.showInputDialog("Introduzca el Nombre "); for (int r=0; r<y; r++) { notas[i][r]=Float.parseFloat( JOptionPane.showInputDialog(null,"Introduzca la Nota "+(r+1))); } // mostrar elementos del vector String estudiante=""; for (int j=0; j < x; j++) { estudiante= estudiante + nombres[j]+"\n"+ "Las nota son"+"\n"; for (int r=0; r<y; r++) { estudiante= estudiante + notas[j][j]+" "; } JOptionPane.showMessageDialog ( null,"Estudiante \n"+estudiante,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); estudiante=""; }
12
double promedio=0; // Calcular promedio de estudiantes for (int i=0; i < x; i++) { promedio = 0; for (int j=0; j < y; j++) { promedio=promedio + notas[i][j]; } notafinal[i]= promedio/y; } // muestra los estudiantes con su promedio estudiante=""; for (int j=0; j < x; j++) { estudiante= estudiante + "El nombre es "+nombres[j]+" promedio: "+notafinal[j]+"\n"; } JOptionPane.showMessageDialog ( null,"Elementos del vector\n"+estudiante,"Programa de ejemplo",JOptionPane.INFORMATION_MESSAGE); // calcula el estudiante con mayor promedio mayor =notafinal[0]; indice=0; for (int j=0; j < nombres.length; j++) { if (mayor < notafinal[j]) { mayor =notafinal[j]; indice=j;} } JOptionPane.showMessageDialog(null,"El estudiante con la nota mayor es "+nombres[indice]+" La nota es: "+notafinal[indice]+"\n"); // estudiante con menor nota menor =notafinal[0]; indice=0; for (int j=0; j < nombres.length; j++) { if (menor > notafinal[j]) { menor =notafinal[j]; indice=j;} } JOptionPane.showMessageDialog(null,"El estudiante con la nota menor es "+nombres[indice]+" La nota es: "+notafinal[indice]+"\n"); } }
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.