Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Benito123 en 9 Mayo 2022, 22:49 pm



Título: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
Publicado por: Benito123 en 9 Mayo 2022, 22:49 pm
Buenas, estoy hace bastante tiempo ya intentando resolver un ejercicio de matrices en Java. El método recibe una matriz, y debe retornar el numero en forma de String si todos los números menores de cada fila son iguales, si no debe retornar "NO HAY".

Este es mi código, no sé que está mal:

public static String menorComunFilas(int[][] matriz) { // metodo principal


String texto="";

boolean ok = true;


for(int i=0; i < matriz.length-1 && ok; i++) {

if(menorComunFila(matriz, i) != menorComunFila(matriz, i+1)) {
ok=false;
}
}



if(!ok) {
texto="NO HAY";

}

if(ok) {
texto=String.valueOf(menorComunFila(matriz, 0));
}
return texto;
}


public static int menorComunFila(int [][] matriz, int fila) { //metodo para hallar el menor numero en cada fila

int menorValor =Integer.MAX_VALUE;

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

if (matriz[fila][j] <= menorValor) {
menorValor = matriz[fila][j];

}


}

return menorValor;

}

Desde ya, muchas gracias!!!


Título: Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
Publicado por: K-YreX en 9 Mayo 2022, 23:22 pm
Un par de cosillas a la hora de publicar mensajes:
  • Coloca el código entre etiquetas de código GeSHi.
    Tan solo tienes que seleccionar todo el código, ir al desplegable que pone "Código GeSHi" y elegir el lenguaje apropiado (en este caso: Java).
    Otra opción es escribir:
    [code=java]
    // Aquí pones tu código
    [/code]
    Para que quede tal que así:
Código
  1. System.out.println("Usando el codigo GeSHi");

  • Concreta todo lo posible el problema que tengas.
    - Si tu código no compila, agrega el mensaje de error que te da el compilador.
    - Si el resultado no es el esperado, indica los valores de entrada que estás usando, el resultado que esperas y el resultado que te da el programa.
    ...

A simple vista, el código parece que hace lo que tiene que hacer.
Se podría simplicar un poco pero el funcionamiento parece válido. Como he dicho antes, explica más en detalle cuál es el problema.


Título: Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
Publicado por: Benito123 en 10 Mayo 2022, 00:40 am
Mi problema es que al probar una matriz de ejemplo me da mal, y no entiendo el por que. Pruebo: 1 5 8 4 2
            5 2 0 7 9
           -3 8 5 -2 2
y me da "NO HAY", cuando deberia dar 2, no se por qué.


Título: Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
Publicado por: Benito123 en 10 Mayo 2022, 00:46 am
fue un error mío de comprensión de letra, el ejercicio pide "el menor elemento comun a todas las filas de la matriz. si no hay retorna "NO HAY". por lo tanto, mi codigo esta mal, me quede en blanco de como seria.
1 5 8 4 2
5 2 0 7 9
-3 8 5 -2 2
por ejemplo aqui seria 2 el menor comun. yo pensaba que habia que comparar los menores de todas las filas y ver si coincidian, pero es mas complicado de lo que pensé.


Título: Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
Publicado por: K-YreX en 10 Mayo 2022, 15:07 pm
Para conseguir el nuevo funcionamiento, el procedimiento sería el siguiente:
Código:
minimo = MAX_VALUE
PARA CADA elemento EN matriz.fila(0) HACER
  SI elemento < minimo ENTONCES
    fila = 1
    MIENTRAS fila < matriz.filas Y encontrado HACER
      encontrado = buscarElemento(elemento, matriz.fila(fila))
      fila = fila + 1
    FIN MIENTRAS
    SI encontrado ENTONCES
      minimo = elemento
    FIN SI
  FIN SI
FIN PARA