Java - Tengo todo pero no tengo nada

 
Vista:

Tengo todo pero no tengo nada

Publicado por Destricode (2 intervenciones) el 10/09/2022 06:38:37
*27. Una compañía tiene N vendedores y lleva funcionando M años. Elabore un algoritmo que lea la venta
(en miles de pesos) de cada uno de los N vendedores en cada uno de los M años y almacene esos datos
en una matriz. Luego debe calcular e imprimir:
· Total de ventas de cada vendedor en los M años.
· Total de ventas en cada año.
· El total de ventas de la compañía en los M años.

*/
package matriz;

import javax.swing.JOptionPane;

public class ejercicio27 {

public static void main(String[] args) {
double sumafila,sumacolumnas,sumatotal;
int m,n;
double matriz[][];
do{
n = Integer.parseInt(JOptionPane.showInputDialog("tamaño de filas n"));
}while(n<0);
do{
m = Integer.parseInt(JOptionPane.showInputDialog("tamaño de columnas m"));
}while(m<0);

matriz=new double [n][m];
for(int i =0;i<matriz.length;i++){
for(int j=0;j<matriz[i].length;j++){
matriz[i][j] = Double.parseDouble(JOptionPane.showInputDialog("digite las ventas del vendedor # "+j+"\n en el año #"+i));
}
}
for(int i=0;i<matriz.length;i++){
sumafila=0;
for(int j=0;j<matriz[i].length;j++){
sumafila+=matriz[i][j];

} JOptionPane.showMessageDialog(null, "la suma de cada vendedor en los años #"+i+" es "+sumafila);

}
for(int j=0;j<matriz.length;j++){
sumacolumnas=0;
for(int i=0;i<matriz.length;i++) {
sumacolumnas+=matriz[i][j];


} JOptionPane.showMessageDialog(null, "la suma de Total de ventas en cada año es : "+sumacolumnas);

}
for(int i=0;i<matriz.length;i++){
sumatotal=0;
for(int j=0;j<matriz[i].length;j++){
sumatotal+=matriz[i][j];

}JOptionPane.showMessageDialog(null,"El total de ventas de la compañía : "+sumatotal);
}

}
}



La cosa es que no se como sumar toda la matriz
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Tengo todo pero no tengo nada

Publicado por matriz (1 intervención) el 10/09/2022 14:09:58
Eso lo puedes hacer de muchas maneras.

Una opción es utilizar una matriz resultante de las mismas dimensiones, te recomiendo mires el siguiente enlace:

https://lineadecodigo.com/java/sumar-matrices-en-java/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo todo pero no tengo nada

Publicado por Destricode (1 intervención) el 10/09/2022 19:18:42
lo que necesito es saber como sumar el resultado de sumar todas las colunmas enserio pienso y busco y busco pero no consigo nada

20 12 77
50 12 89
10 44 15
---------------------
80 68 181

necesitaria que se sumaran el 80 el 68 y el 181
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo todo pero no tengo nada

Publicado por matriz (2 intervenciones) el 10/09/2022 19:46:11
Eso si es factible hacerlo, porque yo se cuantas columnas tiene la matriz, y es buscar donde termina una columna para ir acumulando ese total, el truco está en invertir las posiciones

https://es.stackoverflow.com/questions/314903/almacenar-en-un-array-la-suma-de-filas-y-columnas-en-java

Prueba el ejemplo final de este enlace, creo que se adapta a lo que requieres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo todo pero no tengo nada

Publicado por matriz (2 intervenciones) el 10/09/2022 20:43:19
int n[][] = new int[4][5]; //Matriz para generar los números aleatorios entre 0 y 100
int nArray[][] = new int[6][6]; //Array Final
int sumaFilas = 0, sumaColumnas = 0, sumaTotal = 0;

//Genera los números aleatorios en
for (int i = 0; i < 4; i++) {

for (int j = 0; j < 5; j++) {

n[i][j] = (int) (Math.random() * 101);
nArray[i][j] = n[i][j];
}

}

for (int j = 0; j < 5; j++) { //Columnas

System.out.print("\t Columna " + j + " ");

}

//SumaFilas
for (int i = 0; i < 4; i++) { //Filas

if (i == 4) {
System.out.println("\n\n");
} else {
System.out.print("\n\nFila " + i);
}
sumaFilas = 0;
for (int j = 0; j < 6; j++) { //Columnas

System.out.print("\t\t" + nArray[i][j]);
sumaFilas += nArray[i][j];

if(j != 5)
{
nArray[i][5] = sumaFilas;
}
}

}
System.out.println("\n");
//Suma columnas
for (int j = 0; j < 6; j++) { //Columnas
sumaColumnas = 0;
for (int i = 0; i < 5; i++) { //Filas
sumaColumnas += nArray[i][j];

}
System.out.print("\t\t" + sumaColumnas);
}

System.out.println("");

Este código produce este resultado y realmente funciona

Columna 0 Columna 1 Columna 2 Columna 3 Columna 4

Fila 0 97 38 91 43 100 369

Fila 1 73 0 27 23 70 193

Fila 2 59 9 34 99 5 206

Fila 3 61 74 29 71 70 305

290 121 181 236 245 1073
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar