Java - Matriz 4x4 con bucle for y llenado con operaciones matematicas

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Alesandro (4 intervenciones) el 03/10/2020 03:57:40
Para un curso necesito crear una matriz a través del bucle for 4x4 desde el 2 hasta el 32 yendo de dos en dos, tal que así:
2 4 6 8
10 12 14 16
18 20 22 24
26 28 30 32

El problema es que no se como rellenarla de dos en dos y mi tarea me pide que lo haga con operaciones matemáticas. Apreciaría su ayuda.
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
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

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Lisa (34 intervenciones) el 03/10/2020 17:25:36
Se me ocurre algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int k = 1;
int [][] m = new int[4][4];
for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
        m[i][j] = k * 2;
        k++;
    }
}
//Ahora mostramos el resultado
for (int i = 0; i < m.length; i++) {
    for (int j = 0; j < m.length; j++) {
        System.out.print(m[i][j] + "\t");
    }
    System.out.println();
}

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
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

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Lisa (34 intervenciones) el 03/10/2020 17:43:26
Estaba pensando en otra forma con un solo ciclo for, pero creo que es menos elegante
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int[][] m = new int[4][4];
int i = 0;
int j = 0;
for (int k = 1; k <= (4 * 4); k++) {
    m[i][j] = k * 2;
    if(k % 4 == 0){
        j = 0;
    } else {
        j++;
    }
    if (j % 4 == 0) {
        i++;
    }
}
 
//Ahora mostramos el resultado
for (i = 0; i < m.length; i++) {
    for (j = 0; j < m.length; j++) {
        System.out.print(m[i][j] + "\t");
    }
    System.out.println();
}

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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Rodrigo (623 intervenciones) el 03/10/2020 17:55:59
Otros 2 metodos:

- Usar k comenzando en 2, asignar directamente k, incrementar k en 2.

- Usar 2 ciclos con indices i y j y eliminar completamente el uso de k: asignar el resultado de (8*i+2*j)+2
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

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Costero (148 intervenciones) el 03/10/2020 20:12:30
O como Rodrigo dijo:

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
public class Matrix4by4 {
 
    public static void main(String[] args) {
        int[][] m = new int[4][4];
        process(m);
        print(m);
    }
 
    private static void process(int[][] m) {
 
        int i = 0;
        int j = 0;
 
        for (int n = 2; n <= 32; n+=2) {
 
            m[i][j++] = n;
 
            if (n % 8 == 0) {
                i++;
                j = 0;
            }
        }
    }
 
    private static void print(int[][] m) {
        System.out.println();
        for (int i = 0; i < m.length; i++) {
            for (int j = 0; j < m.length; j++) {
                System.out.print(m[i][j] + "\t");
            }
            System.out.println();
        }
    }
}
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
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Alesandro (4 intervenciones) el 04/10/2020 15:45:33
Gracias por la ayuda.
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

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Costero (148 intervenciones) el 03/10/2020 20:05:42
Un solo ciclo. Un poco elegante.

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
public class Matrix4by4 {
 
    public static void main(String[] args) {
        int[][] m = new int[4][4];
        process(m);
        print(m);
    }
 
    private static void process(int[][] m) {
 
        int i = 0;
        int j = 0;
 
        for (int n = 1; n <= (4 * 4); ++n) {
 
            m[i][j++] = n * 2;
 
            if (n % 4 == 0) {
                i++;
                j = 0;
            }
        }
    }
 
    private static void print(int[][] m) {
        System.out.println();
        for (int i = 0; i < m.length; i++) {
            for (int j = 0; j < m.length; j++) {
                System.out.print(m[i][j] + "\t");
            }
            System.out.println();
        }
    }
}
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Rodrigo (623 intervenciones) el 04/10/2020 00:01:59
Otra opcion, mas bien criptica:

1
2
3
4
5
6
// ..
    private static void process(int[][] m) {
        for (int n = 2; n <= 32; n+=2) {
            m[(n-2)/8][((n-2)/2)%4] = n;
        }
    }
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
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Alesandro (4 intervenciones) el 04/10/2020 15:45:53
Gracias de verdad.
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
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Matriz 4x4 con bucle for y llenado con operaciones matematicas

Publicado por Alesandro (4 intervenciones) el 04/10/2020 15:44:54
Gracias por tu respuesta.
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