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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Cómo mostrar dos diagonales de dos matrices en un vector en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cómo mostrar dos diagonales de dos matrices en un vector en Java  (Leído 1,722 veces)
megasaw

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Cómo mostrar dos diagonales de dos matrices en un vector en Java
« en: 10 Febrero 2017, 02:31 am »

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?

Adjunto el codigo por sea caso:

Código
  1. package javaapplication10;
  2.  
  3. import java.util.*;
  4. //Se importan las librerias necesarias
  5.  
  6. public class JavaApplication10 {
  7.  
  8.    public static void main(String[] args) {
  9.        int n;
  10.        Scanner sc = new Scanner(System.in);
  11.        //Inicializo las variables a utilizar
  12.        System.out.println("Señor usuario, por favor ingrese el tamaño de sus matrices cuadraticas");
  13.        n = sc.nextInt();
  14.        int matrizA[][] = new int[n][n];
  15.        int matrizB[][] = new int[n][n];
  16.        int vectorL[] = new int[n * 2];
  17.        //Defino el tamaño de las matrices y el vector, y pido los datos para llenarlas
  18.        for (int i = 0; i < n; i++) {
  19.            for (int j = 0; j < n; j++) {
  20.                System.out.println("Por favor ingrese los numeros de la matriz A");
  21.                matrizA[i][j] = sc.nextInt();
  22.            }
  23.        }
  24.  
  25.        for (int i = 0; i < matrizB.length; i++) {
  26.            for (int j = 0; j < matrizB[i].length; j++) {
  27.                System.out.println("Por favor ingrese los datos de la matriz B");
  28.                matrizB[i][j] = sc.nextInt();
  29.            }
  30.        }
  31.        System.out.println("Matriz A");
  32.        for (int i = 0; i < n; i++) {
  33.            for (int j = 0; j < n; j++) {
  34.                System.out.print(matrizA[i][j] + "\t");
  35.            }
  36.            System.out.println();
  37.        }
  38.        System.out.println("");
  39.        System.out.println("Matriz B");
  40.        for (int i = 0; i < n; i++) {
  41.            for (int j = 0; j < n; j++) {
  42.                System.out.print(matrizB[i][j] + "\t");
  43.            }
  44.            System.out.println();
  45.        }
  46.        System.out.println("");
  47.        System.out.println("A continuación se muestra la diagonal de la matriz A");
  48.        for (int i = 0; i < n; i++) {
  49.            for (int j = 0; j < n; j++) {
  50.                if (i == j) {
  51.                    int diagonalA = matrizA[i][j];
  52.                    System.out.println(diagonalA);
  53.                }
  54.            }
  55.        }
  56.        System.out.println("Ahora se muestra la diagonal de la matriz B");
  57.        for (int i = 0; i < n; i++) {
  58.            for (int j = 0; j < n; j++) {
  59.                if (i == j) {
  60.                    int diagonalB = matrizB[i][j];
  61.                    System.out.println(diagonalB);
  62.                }
  63.            }
  64.        }
  65.  
  66.    }
  67. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 10 Febrero 2017, 02:39 am por engel lex » En línea

MNicolas

Desconectado Desconectado

Mensajes: 127


Developer


Ver Perfil WWW
Re: Cómo mostrar dos diagonales de dos matrices en un vector en Java
« Respuesta #1 en: 10 Febrero 2017, 11:24 am »

Hay muchas soluciones, por ejemplo esta:

Mientras muestras las diagonales puedes ir guardando en un vector de n posiciones la diagonal de A y en otro vector de n posiciones la diagonal de B. Ejemplo tomando uno de tus bucles que muestran la diagonal

Código
  1. int[] primeraDiagonal = new int[n];
  2. for (int i = 0; i < n; i++) {
  3.            for (int j = 0; j < n; j++) {
  4.                if (i == j) {
  5.                    int diagonalA = matrizB[i][j];
  6.                    primeraDiagonal[i] = diagonalA;
  7.                    System.out.println(diagonalA);
  8.                }
  9.            }
  10.        }
  11.  

Luego puedes unir los dos vectores de las diagonales

Código
  1. for(int i=0; i<n; i++){
  2.      vecorL[i] = primeraDiagonal[i];
  3. }
  4. for(int i=n; i<n*2; i++){
  5.      vecorL[i] = segundaDiagonal[i];
  6. }
  7.  

Pero hay muchas soluciones. Por ejemplo según muestras las diagonales puedes ir (en el primer bucle) metiendo en vectorL los valores y en el segundo vecorL[i+n]

Código
  1. System.out.println("A continuación se muestra la diagonal de la matriz A");
  2.        for (int i = 0; i < n; i++) {
  3.            for (int j = 0; j < n; j++) {
  4.                if (i == j) {
  5.                    int diagonalA = matrizA[i][j];
  6.                    vectorL[i] = diagonalA;
  7.                    System.out.println(diagonalA);
  8.                }
  9.            }
  10.        }
  11.        System.out.println("Ahora se muestra la diagonal de la matriz B");
  12.        for (int i = 0; i < n; i++) {
  13.            for (int j = 0; j < n; j++) {
  14.                if (i == j) {
  15.                    int diagonalB = matrizB[i][j];
  16.                    vector[i+n] = diagonalB;
  17.                    System.out.println(diagonalB);
  18.                }
  19.            }
  20.        }
  21.  

No sé si me equivoqué al escribir, pero espero que entiendas la idea. Saludos!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como mostrar datos de mysql en java ide netbeans
Java
XpandyX 2 17,384 Último mensaje 13 Marzo 2011, 22:00 pm
por wilfo
Matrices en java
Java
920619 1 2,528 Último mensaje 7 Enero 2012, 02:49 am
por Leyer
¿Cómo eliminar un elemento de un vector y correr los espacios en java?
Java
ShadowA7X 2 15,998 Último mensaje 25 Agosto 2016, 16:32 pm
por ShadowA7X
Ayuda! ¿Cómo mostrar los datos de varios archivos en java?
Dudas Generales
cris4537 0 2,709 Último mensaje 12 Septiembre 2016, 02:20 am
por cris4537
Problemas para mostrar un vector lineal dinámico
Programación C/C++
Cero++ 5 1,616 Último mensaje 10 Diciembre 2018, 01:13 am
por Cero++
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines