Java - Ayuda sobre cómo insertar las diagonales de dos matrices en un vector

 
Vista:

Ayuda sobre cómo insertar las diagonales de dos matrices en un vector

Publicado por Jose (1 intervención) el 10/02/2017 00:44:23
Buenas con todos, necesito ayuda ya que no sé cómo hacer lo que me piden, el código pide al usuario un tamaño N para dos matrices cuadráticas A y B que serán llenadas por él mismo, luego con las matrices llenas se debe sacar la diagonal de cada una y guardarlas en un vector de dimensión 2N. El problema es que no sé cómo colocar los valores de las diagonales en el vector, adjunto el código para que lo revisen, ¿Cómo lo hago?
PD: Si es posible, agradecería que me dieran sugerencias para simplificar el código. Gracias

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
62
63
64
65
66
67
68
69
70
71
package javaapplication10;
 
import java.util.*;
//Se importan las librerias necesarias
 
public class JavaApplication10 {
 
    public static void main(String[] args) {
        int n;
        Scanner sc = new Scanner(System.in);
        //Inicializo las variables a utilizar
        System.out.println("Señor usuario, por favor ingrese el tamaño de sus matrices cuadraticas");
        n = sc.nextInt();
        int matrizA[][] = new int[n][n];
        int matrizB[][] = new int[n][n];
        int vectorL[] = new int[n * 2];
        //Defino el tamaño de las matrices y el vector, y pido los datos para llenarlas
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                System.out.println("Por favor ingrese los numeros de la matriz A");
                matrizA[i][j] = sc.nextInt();
            }
        }
 
        for (int i = 0; i < matrizB.length; i++) {
            for (int j = 0; j < matrizB[i].length; j++) {
                System.out.println("Por favor ingrese los datos de la matriz B");
                matrizB[i][j] = sc.nextInt();
            }
        }
        System.out.println("Matriz A");
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(matrizA[i][j] + "\t");
            }
            System.out.println();
        }
        System.out.println("");
        System.out.println("Matriz B");
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(matrizB[i][j] + "\t");
            }
            System.out.println();
        }
        System.out.println("");
        System.out.println("A continuacion se muestra la diagonal de la matriz A");
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j) {
                    int diagonalA = matrizA[i][j];
                    System.out.println(diagonalA);
                }
            }
        }
        System.out.println("Ahora se muestra la diagonal de la matriz B");
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j) {
                    int diagonalB = matrizB[i][j];
                    System.out.println(diagonalB);
                }
            }
        }
        //Ahora se guardaran los datos de las diagonales en el vector
        for (int i = 0; i < (2*n); i++) {
         //Aqui no sé cómo llenar el vector con los valores de las dos diagonales :( 
        }
 
    }
}
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
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre cómo insertar las diagonales de dos matrices en un vector

Publicado por Thanatos (97 intervenciones) el 10/02/2017 06:40:32
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package javaapplication10;
 
import java.util.Scanner;
 
class JavaApplication10 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        System.out.print("Ingrese el orden de las matrices cuadraticas: ");
        int orden = sc.nextInt();
 
        int[][] matrizA = new int[orden][orden];
        int[][] matrizB = new int[orden][orden];
        int[] vectorD = new int[orden + orden];
 
        System.out.println("\nIngrese los elementos de la matriz A:");
        cargarMatriz(matrizA, sc);
        System.out.println("\nIngrese los elementos de la matriz B:");
        cargarMatriz(matrizB, sc);
 
        System.out.println("\nMatriz A:");
        mostrarMatriz(matrizA);
        System.out.println("\nMatriz B:");
        mostrarMatriz(matrizB);
 
        cargarVector(matrizA, vectorD, 0);
        cargarVector(matrizB, vectorD, orden);
 
        System.out.println("\nDiagonal Matriz A:");
        mostrarVector(vectorD, 0, orden);
        System.out.println("\nDiagonal Matriz B:");
        mostrarVector(vectorD, orden, orden + orden);
 
        System.out.println("\nVector diagonales:");
        mostrarVector(vectorD, 0, orden + orden);
 
        sc.close();
    }
 
    private static void cargarMatriz(int[][] matriz, Scanner sc) {
        for (int i = 0; i < matriz.length; ++i) {
            for (int j = 0; j < matriz[i].length; ++j) {
                System.out.format("matriz[%d][%d] = ", i + 1, j + 1);
                matriz[i][j] = sc.nextInt();
            }
        }
    }
 
    private static void mostrarMatriz(int[][] matriz) {
        for (int[] fila : matriz) {
            for (int numero : fila) {
                System.out.format("%4d", numero);
            }
            System.out.println();
        }
    }
 
    private static void cargarVector(int[][] matriz, int[] diagonal, int iDiag) {
        for (int i = 0; i < matriz.length; ++i) {
            for (int j = 0; j < matriz[i].length; ++j) {
                if (i == j) {
                    diagonal[iDiag++] = matriz[i][j];
                }
            }
        }
    }
 
    private static void mostrarVector(int[] vector, int iInicio, int iFin) {
        for (int i = iInicio; i < iFin; ++i) {
            System.out.print(vector[i] + " ");
        }
        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