Harp Singer Posted June 8, 2012 Report Share Posted June 8, 2012 Buenos días, resulta que estoy aprendiendo Java, y sin embargo , me enviaron la tarea de que en un arreglo con 120 elementos, 10 elementos por cada mes del año, sumara los elementos de la matriz. Sin embargo, no sé cómo proceder, por lo que sólo llevo ésto, y algo que intenté adecuar a mi código por Internet. Agradecería mucho si alguien me pudiese ayudar :3 public class Matriz{ int [ ][ ] matriz = new int [11] [9] // fila y columna matriz [0][0] =1 // cada elemento y su dato matriz [0][1] =2 matriz [0][2] =3 matriz [0][3] =4 matriz [0][4] =5 matriz [0][5] =6 matriz [0][6] =7 matriz [0][7] =8 matriz [0][8] =9 matriz [0][9] =10 matriz [1][0] =11 matriz [1][1] =12 matriz [1][2] =13 matriz [1][3] =14 matriz [1][4] =15 matriz [1][5] =16 matriz [1][6] =17 matriz [1][7] =18 matriz [1][8] =19 matriz [1][9] =20 matriz [2][0] =21 matriz [2][1] =22 matriz [2][2] =23 matriz [2][3] =24 matriz [2][4] =25 matriz [2][5] =26 matriz [2][6] =27 matriz [2][7] =28 matriz [2][8] =29 matriz [2][9] =30 matriz [3][0] =31 matriz [3][1] =32 matriz [3][2] =33 matriz [3][3] =34 matriz [3][4] =35 matriz [3][5] =36 matriz [3][6] =37 matriz [3][7] =38 matriz [3][8] =39 matriz [3][9] =40 matriz [4][0] =41 matriz [4][1] =42 matriz [4][2] =43 matriz [4][3] =44 matriz [4][4] =45 matriz [4][5] =46 matriz [4][6] =47 matriz [4][7] =48 matriz [4][8] =49 matriz [4][9] =50 matriz [5][0] =51 matriz [5][1] =52 matriz [5][2] =53 matriz [5][3] =54 matriz [5][4] =55 matriz [5][5] =56 matriz [5][6] =57 matriz [5][7] =58 matriz [5][8] =59 matriz [5][9] =60 matriz [6][0] =61 matriz [6][1] =62 matriz [6][2] =63 matriz [6][3] =64 matriz [6][4] =65 matriz [6][5] =66 matriz [6][6] =67 matriz [6][7] =68 matriz [6][8] =69 matriz [6][9] =70 matriz [7][0] =71 matriz [7][1] =72 matriz [7][2] =73 matriz [7][3] =74 matriz [7][4] =75 matriz [7][5] =76 matriz [7][6] =77 matriz [7][7] =78 matriz [7][8] =79 matriz [7][9] =80 matriz [8][0] =81 matriz [8][1] =82 matriz [8][2] =83 matriz [8][3] =84 matriz [8][4] =85 matriz [8][5] =86 matriz [8][6] =87 matriz [8][7] =88 matriz [8][8] =89 matriz [8][9] =90 matriz [9][0] =91 matriz [9][1] =92 matriz [9][2] =93 matriz [9][3] =94 matriz [9][4] =95 matriz [9][5] =96 matriz [9][6] =97 matriz [9][7] =98 matriz [9][8] =99 matriz [9][9] =100 matriz [10][0] =101 matriz [10][1] =102 matriz [10][2] =103 matriz [10][3] =104 matriz [10][4] =105 matriz [10][5] =106 matriz [10][6] =107 matriz [10][7] =108 matriz [10][8] =109 matriz [10][9] =110 matriz [11][0] =111 matriz [11][1] =112 matriz [11][2] =113 matriz [11][3] =114 matriz [11][4] =115 matriz [11][5] =116 matriz [11][6] =117 matriz [11][7] =118 matriz [11][8] =119 matriz [11][9] =120 // hacer for anidado de 1 a 12 y for de 1 a 10// acá pondremos la suma de los elementospublic int suma(int [][] matriz){ suma=0 for (fila=0; fila<matriz.length; fila++) for (columna = 0; columna < matriz[fila].length; columna++) suma += matriz[11][9];return suma;}} PD: Disculpen que el código sea tan largo xDD Link to comment Share on other sites More sharing options...
AshWilliams Posted June 8, 2012 Report Share Posted June 8, 2012 Se mueve a Aplicaciones de Escritorio. Saludos :krider: Link to comment Share on other sites More sharing options...
Maurox? Posted June 9, 2012 Report Share Posted June 9, 2012 Buenos días, resulta que estoy aprendiendo Java, y sin embargo , me enviaron la tarea de que en un arreglo con 120 elementos, 10 elementos por cada mes del año, sumara los elementos de la matriz. Sin embargo, no sé cómo proceder, por lo que sólo llevo ésto, y algo que intenté adecuar a mi código por Internet. Agradecería mucho si alguien me pudiese ayudar :3 public class Matriz{ int [ ][ ] matriz = new int [11] [9] // fila y columna matriz [0][0] =1 // cada elemento y su dato matriz [0][1] =2 matriz [0][2] =3 matriz [0][3] =4 matriz [0][4] =5 matriz [0][5] =6 matriz [0][6] =7 matriz [0][7] =8 matriz [0][8] =9 matriz [0][9] =10 matriz [1][0] =11 matriz [1][1] =12 matriz [1][2] =13 matriz [1][3] =14 matriz [1][4] =15 matriz [1][5] =16 matriz [1][6] =17 matriz [1][7] =18 matriz [1][8] =19 matriz [1][9] =20 matriz [2][0] =21 matriz [2][1] =22 matriz [2][2] =23 matriz [2][3] =24 matriz [2][4] =25 matriz [2][5] =26 matriz [2][6] =27 matriz [2][7] =28 matriz [2][8] =29 matriz [2][9] =30 matriz [3][0] =31 matriz [3][1] =32 matriz [3][2] =33 matriz [3][3] =34 matriz [3][4] =35 matriz [3][5] =36 matriz [3][6] =37 matriz [3][7] =38 matriz [3][8] =39 matriz [3][9] =40 matriz [4][0] =41 matriz [4][1] =42 matriz [4][2] =43 matriz [4][3] =44 matriz [4][4] =45 matriz [4][5] =46 matriz [4][6] =47 matriz [4][7] =48 matriz [4][8] =49 matriz [4][9] =50 matriz [5][0] =51 matriz [5][1] =52 matriz [5][2] =53 matriz [5][3] =54 matriz [5][4] =55 matriz [5][5] =56 matriz [5][6] =57 matriz [5][7] =58 matriz [5][8] =59 matriz [5][9] =60 matriz [6][0] =61 matriz [6][1] =62 matriz [6][2] =63 matriz [6][3] =64 matriz [6][4] =65 matriz [6][5] =66 matriz [6][6] =67 matriz [6][7] =68 matriz [6][8] =69 matriz [6][9] =70 matriz [7][0] =71 matriz [7][1] =72 matriz [7][2] =73 matriz [7][3] =74 matriz [7][4] =75 matriz [7][5] =76 matriz [7][6] =77 matriz [7][7] =78 matriz [7][8] =79 matriz [7][9] =80 matriz [8][0] =81 matriz [8][1] =82 matriz [8][2] =83 matriz [8][3] =84 matriz [8][4] =85 matriz [8][5] =86 matriz [8][6] =87 matriz [8][7] =88 matriz [8][8] =89 matriz [8][9] =90 matriz [9][0] =91 matriz [9][1] =92 matriz [9][2] =93 matriz [9][3] =94 matriz [9][4] =95 matriz [9][5] =96 matriz [9][6] =97 matriz [9][7] =98 matriz [9][8] =99 matriz [9][9] =100 matriz [10][0] =101 matriz [10][1] =102 matriz [10][2] =103 matriz [10][3] =104 matriz [10][4] =105 matriz [10][5] =106 matriz [10][6] =107 matriz [10][7] =108 matriz [10][8] =109 matriz [10][9] =110 matriz [11][0] =111 matriz [11][1] =112 matriz [11][2] =113 matriz [11][3] =114 matriz [11][4] =115 matriz [11][5] =116 matriz [11][6] =117 matriz [11][7] =118 matriz [11][8] =119 matriz [11][9] =120 // hacer for anidado de 1 a 12 y for de 1 a 10// acá pondremos la suma de los elementospublic int suma(int [][] matriz){ suma=0 for (fila=0; fila<matriz.length; fila++) for (columna = 0; columna < matriz[fila].length; columna++) suma += matriz[11][9];return suma;}} PD: Disculpen que el código sea tan largo xDD Hola, buenas. Dos cosas se me vienen a la mente ahora. 1.- Para que llenar a mano la matriz si has ocupado un for para recorrerlas. Las podrías haber llenado de la misma forma, a menos que no entiendas el uso del for, que es lo que veo que ocurre cuando tratas de sumar todos los elementos dentro de la matriz. 2.- la instrucción suma +=matriz[11][9] ira incrementando en su mismo valor por el largo de tu arreglo, o sea 120 veces. la función suma debería ser algo así: suma += matriz[fila][columna]; Trata de entender que es lo que hace lo que tu programaste y así podrás ver que error ocurre. Link to comment Share on other sites More sharing options...
Leoxz Posted June 9, 2012 Report Share Posted June 9, 2012 Como dijo el amigo solo estas sumando el valor del mismo elemento 20 veces Entonces quedaría así BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int contador = 0; int sumaTotal = 0; int[][] matriz = new int[12][10]; /* Otro error es al declarar la matriz solo el tuyo tiene 11 elementos, no doce porque en una matriz empieza del indice 0, osea * * tu tienes matriz[11][9] * * [11] -> 0,1,2,3,4,5,6,7,8,9,10 = 11 elementos, no 12 * [9] -> 0,1,2,3,4,5,6,7,8 = 9 elementos, no 10 * * en cambio si tenemos matriz[12][10] * * [12] -> 0,1,2,3,4,5,6,7,8,9,10,11 = 12 elementos * [10] -> 0,1,2,3,4,5,6,7,8,9 = 10 elementos */ //Llenamos la matriz en vez de hacerlo manualmente, porque //imaginate si tienes 1000 elementos escribiar mucho codigo for(int x=0;x<12;x++){ for(int y=0;y<10;y++){ contador++; matriz[x][y] = contador; } } //Para mostrar la matriz y ver que se haya llenado correctamente for(int x=0;x<12;x++){ for(int y=0;y<10;y++){ System.out.println(matriz[x][y]); } } for(int x=0;x<12;x++){ for(int y=0;y<10;y++){ sumaTotal+=matriz[x][y]; //Es lo mismo a sumaTotal = sumaTotal + matriz[x][y]; } } System.out.println(sumaTotal); Saludos Link to comment Share on other sites More sharing options...
Harp Singer Posted June 11, 2012 Author Report Share Posted June 11, 2012 Muchas gracias por ayudar :D Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now