jueves, 29 de julio de 2010

Matriz 3x3, Presenta, Diagonal Principal y Secundaria

public class matriz {

public static void main(String[] args) {
int numeros[][] = new int[3][3];
int valor;
Scanner lector = new Scanner(System.in);

System.out.println("MATRIZ CUADRADA 3 X 3");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("Ingrese el valor de " + i + " y" + j + ": ");
valor = lector.nextInt();
numeros[i][j] = valor;
}
}

System.out.println("");
System.out.println("Presentacion de la matriz");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(numeros[i][j] + "\t");
if (j == 2) {
System.out.print("\n");
}
}
}

System.out.println("");
System.out.println("Diagonal Principal");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
System.out.print(numeros[i][j] + " ");
}
}
}
System.out.println("\n");
System.out.println("Diagonal Secundaria");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 0 && j == 2) {
System.out.print(numeros[i][j] + " ");
}
if (i == 1 && j == 1) {
System.out.print(numeros[i][j] + " ");
}
if (i == 2 && j == 0) {
System.out.print(numeros[i][j] + " ");
}
}
}
System.out.println("\n");
}
}

15 comentarios:

  1. Y si quisiera hacer algo parecido, pero en lugar de una matriz de 3x3, fuera de 5x5 o 90x90...como le hago?

    ResponderEliminar
    Respuestas
    1. Es la misma dimensión del arreglo, pero lo unico que cambia seria el numero de columnas y renglones. por que sigue siendo una matriz cuadrada.

      Eliminar
  2. buen aporte mi estimado, esto me sirvió para mi examen de la universidad.

    ResponderEliminar
  3. exelente aporte me ayudo en una practica en la U, dios te bendiga

    ResponderEliminar
  4. ana laura pues sinple para cuando es de un tamaño mayor lo haces con un do while asi: do {
    System.out.println("ingrese el numero de filas ");
    n = leer.nextInt();
    } while (n <= 0);
    do {
    System.out.println("ingrese el numero de columnas ");
    m = leer.nextInt();
    } while (m <= 0);
    tienes que hacer dos do ehile y ya

    ResponderEliminar
  5. ana laura pues sinple para cuando es de un tamaño mayor lo haces con un do while asi: do {
    System.out.println("ingrese el numero de filas ");
    n = leer.nextInt();
    } while (n <= 0);
    do {
    System.out.println("ingrese el numero de columnas ");
    m = leer.nextInt();
    } while (m <= 0);
    tienes que hacer dos do ehile y ya

    ResponderEliminar
  6. // Declaración matriz
    int[][] matriz;

    //Instancia clase Scanner, llama a constructor Scanner q recibe un inputstream estatico
    // de la clase System
    Scanner lect = new Scanner(System.in);

    int fila, col;

    System.out.println("Ingrese el número de filas : ");
    fila = lect.nextInt();

    System.out.println("Ingrese el número de Columnas : ");
    col = lect.nextInt();

    // Se crea la matriz con los valores especificados
    matriz = new int[fila][col];
    System.out.println("tamaño matriz " + matriz.length);
    matriz2 = new int[fila][col];

    // Ciclo general que lee una matriz de m x n
    for (int i = 0; i < fila; i++) {
    for (int j = 0; j < col; j++) {
    //System.out.println("Ingrese un número en la fila :" + i + " columna: " + j);
    int numeroAleatorio = (int) (Math.random() * 100 + 1); // Para generar número aleatorios entre 1 y 100;
    matriz[i][j] = numeroAleatorio;
    }
    }

    // Para Imprimir la matriz
    for (int i = 0; i < fila; i++) {
    System.out.println("");
    for (int j = 0; j < col; j++) {
    System.out.print(" " + matriz[i][j]);
    }
    }
    System.out.println("");

    int contCol = 1;
    int contFil = 0;
    int[] diagonal = new int[matriz.length];
    int[] diagonalSec = new int[matriz.length];
    for (int i = 0; i < matriz.length; i++) {
    for (int j = 0; j < matriz[i].length; j++) {
    if (i == j) { // Diagonal Principal >> A 1,1 - A 2,2 - A 3,3 ... A n,n
    diagonal[i] = matriz[i][j];
    }

    //Diagonal Secundaria
    if (i == contFil && j == col - contCol) {
    contFil++;
    contCol++;
    diagonalSec[i] = matriz[i][j];
    }
    }
    }

    System.out.print("Diagonal Principal: ");
    for (int i = 0; i < diagonal.length; i++) {
    System.out.print(" " + diagonal[i]);
    }
    System.out.println("");

    System.out.print("Diagonal Secundaria: ");
    for (int i = 0; i < diagonalSec.length; i++) {
    System.out.print(" " + diagonalSec[i]);
    }
    System.out.println("");

    ResponderEliminar
  7. Muy buen codigo pero... cual seria el codigo de la suma de la diagonal principal?????

    ResponderEliminar
  8. para saber la suma de la diagonal principal??

    ResponderEliminar
    Respuestas
    1. System.out.println("");
      System.out.println("Diagonal Principal");
      int suma=0;
      for (int r=0;r<5;r++)
      {
      for (int c=0;c<5;c++)
      {
      if (r==c)
      {
      System.out.print(numeros[r][c] + " ");
      suma=suma+numeros[r][c];
      }
      }
      }
      System.out.println("la suma de las diagonales es "+suma);

      Eliminar
  9. cual seria el codigo par mostrar ambas diagonales en uno sola matriz y q ambas seas solo 0

    ResponderEliminar
  10. Como mostrar en las dos diagonales solamente unos???

    ResponderEliminar
  11. no mamen weys, me ayudan con javaa soy re chingón y no me sale nada
    ayuden, doy 5 estrellas

    ResponderEliminar
  12. en serio o me contestan o mi profesora me va a recastigar

    ResponderEliminar