Java - función que reciba una matriz y devuelva si en todas las filas existe algún múltiplo de 3

 
Vista:
Imágen de perfil de juana
Val: 39
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

función que reciba una matriz y devuelva si en todas las filas existe algún múltiplo de 3

Publicado por juana (15 intervenciones) el 13/10/2020 06:29:19
buenas noches alguno me ayudaria con este ejercicio?

Implementar la función “boolean fila3col5(int [] [] mat)” , que reciba una matriz y devuelva verdadero si y solo si en todas las filas existe algún múltiplo de 3, y además existe alguna columna donde todos sus elementos sean múltiplos de 5.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder
Imágen de perfil de Lisa
Val: 172
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

función que reciba una matriz y devuelva si en todas las filas existe algún múltiplo de 3

Publicado por Lisa (34 intervenciones) el 13/10/2020 22:49:33
Este problema si que ha estado complicado pero lo logré...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
 * Devuelve verdadero si y solo si en todas las filas existe algún múltiplo
 * de 3, y además existe alguna columna donde todos sus elementos sean
 * múltiplos de 5.
 *
 * @param mat
 * @return
 */
public static boolean fila3col5(int[][] mat) {
    /**
     * Representa si en cada fila hay algún múltiplo de 3
     */
    boolean[] m3 = new boolean[mat.length];
    for (int i = 0; i < mat.length; i++) {
        m3[i] = false;
        for (int j = 0; j < mat[0].length; j++) {
            if (mat[i][j] % 3 == 0) {
                m3[i] = true;
                break;
            }
        }
    }
 
    /**
     * Evaluamos si todas las filas tienen algún múltiplo de 3
     */
    boolean m33 = true;
    for (int i = 0; i < m3.length; i++) {
        m33 = m3[i];
        if (!m33) {
            break;
        }
    }
 
    if (!m33) {
        return false;
    } else {
        boolean[] m5 = new boolean[mat[0].length];
        for (int j = 0; j < mat[0].length; j++) {
            for (int i = 0; i < mat.length; i++) {
                m5[j] = mat[i][j] % 5 == 0;
                if (!m5[j]) {
                    break;
                }
                //System.out.print(mat[i][j] + "\t");
            }
            //System.out.println();
        }
 
        /**
         * Evaluamos si alguna columna donde todos sus elementos sean
         * múltiplos de 5
         */
        for (int i = 0; i < m5.length; i++) {
            if (m5[i]) {
                return true;
            }
        }
        return false;
    }
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar