Título: AYUDA java matrices
Publicado por: betast en 24 Febrero 2019, 18:07 pm
El numero de columnas y de filas las da el usuario. No se como lograr que mi programa dado una columna(ingresada por el usuario) me analice cual es el elemento mayor y menor que tiene dicha columna. Código: package metodos; import javax.swing.JOptionPane; public class miMatriz { public static int ventas[][]; public static int mes[]; public static int vendedor[]; public static int tf, tc; public static void llenarM(){ int i, j; "Entre número de meses [1 - 12]:") ); "Entre número de vendedores: ") ); ventas = new int[tf][tc]; mes = new int[tc]; vendedor = new int[tf]; for(i=0; i<tf; i++){ for(j=0; j<tc; j++){ "Entre ventas del vendedor en ["+i+"]["+j+"]:")); } } } public static void mostrarM( ){ int i, j; String aux ="Los elementos de la matriz de ventas son: \n"; for(i=0; i<tf; i++){ for(j=0; j<tc; j++){ aux += "[ "+ventas[i][j]+" ]"; } aux+="\n"; } } public static void vectorMes(){ int i, j; for(j=0;j<tc;j++){ for(i=0; i<tf; i++){ mes[j] += ventas[i][j]; } } } public static void vectorVendedor(){ int i, j; for(i=0; i<tf; i++){ for(j=0; j<tc; j++){ vendedor[i] += ventas[i][j]; } } } public static void mostrarVec ( String x, int vec [] ){ int i; for(i=0; i<vec.length; i++){ if( i < (vec.length-1) ) aux += ""+vec[i]+"," + " "; else aux += ""+vec[i]+" >"; } } public static void MejorVendedor( ){ int pos=0, i; int may=vendedor[0]; for(i=0; i<vendedor.length; i++){ if(vendedor[i]>may){ may=vendedor[i]; pos=i; } } JOptionPane. showMessageDialog(null, "El mejor vendedor es: "+pos ); } public static void PeorVendedor( ){ int pos1=0, i; int men=vendedor[0]; for(i=0; i<vendedor.length; i++){ if(vendedor[i]<men){ men=vendedor[i]; pos1=i; } } JOptionPane. showMessageDialog(null, "El peor vendedor es: "+pos1 ); } public static void MejorMes( ){ int pos=0, i; int may=mes[0]; for(i=0; i<mes.length; i++){ if(mes[i]>may){ may=mes[i]; pos=i; } } JOptionPane. showMessageDialog(null, "El mejor mes de ventas es: "+pos ); } public static void PeorMes( ){ int pos=0, i; int men=mes[0]; for(i=0; i<mes.length; i++){ if(mes[i]<men){ men=mes[i]; pos=i; } } JOptionPane. showMessageDialog(null, "El peor mes de ventas es: "+pos ); } public static void main (String args []){ llenarM(); mostrarM(); vectorMes(); mostrarVec("La información de ventas de cada mes es: ", mes); vectorVendedor(); mostrarVec("La información de ventas de cada vendor es: ", vendedor); MejorVendedor(); PeorVendedor(); MejorMes(); PeorMes(); pedirColumna(); } }
MOD: Etiqueta GeSHi.
Título: Re: AYUDA java matrices
Publicado por: Tektor en 24 Febrero 2019, 19:46 pm
Mira, hice un pequeño programa que probablemente te ayude a despejar dudas. El programa te pide los datos necesarios para crear la matriz y también los datos para llenarla. Posterior a eso, te muestra la matriz y te pide el número de columna en la que quieres buscar tu dato. Después de ingresar el número de columna, te pregunta por qué dato quieres buscar, o sea si quieres el menor o el mayor. Al final, te muestra el dato solicitado. Respecto a tu pregunta, lo realmente importante son los métodos getMayor() y getMenor() que son muy similares. Revisa la forma en la que funcionan los métodos. Saludos. El codigo: import java.util.Scanner; class Ejemplo{ public static void main (String args []){ int columnas, filas; int matriz[][]; Scanner dato = new Scanner (System. in); System. out. println("Ingrese un número de filas"); filas = dato.nextInt(); System. out. println("Ingrese un número de columnas: "); columnas = dato.nextInt(); matriz = new int [filas][columnas]; for(int i=0; i<filas; i++){ for(int j=0; j<columnas; j++){ System. out. println("Ingrese el dato que corresponde a la fila " + i + " y columna " + j ); matriz[i][j] = dato.nextInt(); } } for(int i=0; i<filas; i++){ for(int j=0; j<columnas; j++){ System. out. print(matriz [i ][j ] + " "); } } System. out. println("Ingrese el número de columna en la que desea buscar:"); int c = dato.nextInt(); if(c>=matriz[0].length){ System. out. println("Opción inválida."); } System. out. println("Ingrese 'M' para encontrar el mayor o 'm' para encontrar el menor"); if(o.equals("M")){ System. out. println("El mayor dato en la culumna " + c + " es: " + getMayor (c,matriz )); } else { if(o.equals("m")){ System. out. println("El menor dato en la culumna " + c + " es: " + getMenor (c,matriz )); } else { System. out. println("Opción inválida"); } } } public static int getMayor(int columna, int matriz[][]){ int mayor = matriz[0][columna]; for(int i=1; i<matriz.length; i++){ if(matriz[i][columna]>mayor){ mayor = matriz[i][columna]; } } return mayor; } public static int getMenor(int columna, int matriz[][]){ int menor = matriz[0][columna]; for(int i=1; i<matriz.length; i++){ if(matriz[i][columna]<menor){ menor = matriz[i][columna]; } } return menor; } }
Enviado desde mi SAMSUNG-SM-G920A mediante Tapatalk
Título: Re: AYUDA java matrices
Publicado por: MAFUS en 24 Febrero 2019, 22:10 pm
Para la próxima vez debes hacer tu publicación en el foro de Java: https://foro.elhacker.net/java-b70.0/
|