elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR  (Leído 3,308 veces)
Benito123

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
« 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!!!


En línea

K-YreX


Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
« Respuesta #1 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.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Benito123

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
« Respuesta #2 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é.
En línea

Benito123

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
« Respuesta #3 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é.
En línea

K-YreX


Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Necesito AYUDA con un EJERCICIO de MATRICES en JAVA POR FAVOR
« Respuesta #4 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
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines