Selecciona Tu Lenguaje

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

miércoles, 19 de julio de 2017

Letras Con Matrices en Java

LETRAS EN JAVA CON MATRICES

Que hay muchachos como van, en esta entrada les comparto algo curioso que quizas muchos hemos buscado y no encontramos algo en concreto. yo por lo menos cuando lo requeri no encontre lo que buscaba si no algo de pronto parecido pero que de  una u otra forma me sirvio.
Bueno sin mas cuento y sin mas chachara este codigo que les traigo es para mostrar figuras con matrices en este caso particular son letras pero no con asteriscos ni con unos y ceros si no con matrices generadas aleatoriamente con la clase Match.Ramdom( ), claro esta que esto no quiere decir que tu no puedas modificar un poco el codigo y poder ingresar tus propios datos o elementos de la matriz en fin si tienes previos conocimientos programando se te va a hacer muy facil este codigo 

El programa esta por metodos hay un pequeño menu donde podes elegir la Letra que deses y claro que solo hay algunas  letras no todas pero la idea es que esto te pueda servir de base para que tu desarrolles tus propios programas.


package Matrices;
import java.util.Scanner;
public class Matrices_Formas {

    static Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("\t JUEGO DE MATRICES\n");
        System.out.print("Digite numero de filas:   ");
        int filas = in.nextInt();
        System.out.println("Trabajaremos con matrices cuadradas por tanto el numero de columnas\n"
                + "sera igual al de las filas");
        int matriz[][] = new int[filas][filas];
        for (int i = 0; i < filas; i++) {
            for (int j = 0; j < filas; j++) {
                matriz[i][j] = (int) (Math.random() * 100);
            }
        }
        Menu(matriz);
    }

    public static void Menu(int matriz[][]) {
        System.out.println("Escoja la Figura que desea ver:"
                + "\n1. Letra M - " + "\t" + "2. Letra X - \n"
                + "3. Letra O - " + "\t" + "4. Letra W - \n"
                + "5. Letra M - ");
        int op = in.nextInt();
        switch (op) {
            case 1:
                MostrarMatriz(matriz);
                Letra_M(matriz);
                break;
            case 2:
                MostrarMatriz(matriz);
                Letra_X(matriz);
                break;
            case 3:
                MostrarMatriz(matriz);
                Letra_O(matriz);
                break;
            case 4:
                MostrarMatriz(matriz);
                Letra_W(matriz);
                break;
            case 5:
                MostrarMatriz(matriz);
                Letra_S(matriz);
                break;
            default:
                System.out.println("Opcion Incorrecta");
                Menu(matriz);
        }
    }

    public static void MostrarMatriz(int matriz[][]) {
        System.out.print("MATRIZ GENERADA ALEATORIAMENTE\n");
        for (int[] matriz1 : matriz) {
            System.out.println("");
            for (int j = 0; j < matriz.length; j++) {
                System.out.print(matriz1[j] + "\t");
            }
        }
        System.out.println("\n");
    }

    public static void Letra_M(int matriz[][]) {
        int mitad = matriz.length / 2;
        int fila = matriz.length;
        int j = 0, l;
        System.out.println("MATRIZ CON FORMA DE M");
        for (int i = 0; i < fila; i++) {
            System.out.print(matriz[i][j] + "\t");
            for (l = 1; l < fila - 1; l++) {
                if (i == l && i <= mitad || i + l == fila - 1 && i <= mitad) {
                    System.out.print(matriz[i][l] + "\t");
                } else {
                    System.out.print(" " + "\t");
                }
            }
            System.out.println(matriz[i][l]);
        }
    }

    public static void Letra_X(int matriz[][]) {
        int fila = matriz.length;
        int k = 0, j;
        System.out.println("MATRIZ CON FORMA DE X");
        for (int i = 0; i < fila; i++) {
            if (i == 0 || i == fila - 1) {
                System.out.print(matriz[i][k] + "\t");
            } else {
                System.out.print(" " + "\t");
            }
            for (j = 1; j < fila - 1; j++) {
                if (i == j || i + j == fila - 1) {
                    System.out.print(matriz[i][j] + "\t");
                } else {
                    System.out.print(" " + "\t");
                }
            }
            if (i == 0 || i == fila - 1) {
                System.out.println(matriz[i][j]);
            } else {
                System.out.println(" ");
            }
        }
    }

    public static void Letra_O(int matriz[][]) {
        int fila = matriz.length;
        int k, j = 0;
        System.out.println("MATRIZ CON FORMA DE O");
        for (int i = 0; i < fila; i++) {
            System.out.print(matriz[j][i] + "\t");
        }
        System.out.println("");
        for (int i = 1; i < fila - 1; i++) {
            System.out.print(matriz[i][j] + "\t");
            for (k = 1; k < fila - 1; k++) {
                System.out.print(" " + "\t");
            }
            System.out.println(matriz[i][k]);
        }
        j = fila - 1;
        for (int i = 0; i < fila; i++) {
            System.out.print(matriz[j][i] + "\t");
        }
    }

    public static void Letra_W(int matriz[][]) {
        int mitad = matriz.length / 2;
        int fila = matriz.length;
        int j = 0, l;
        System.out.println("MATRIZ CON FORMA DE M");
        for (int i = 0; i < fila; i++) {
            System.out.print(matriz[i][j] + "\t");
            for (l = 1; l < fila - 1; l++) {
                if (i == l && i >= mitad || i + l == fila - 1 && i >= mitad) {
                    System.out.print(matriz[i][l] + "\t");
                } else {
                    System.out.print(" " + "\t");
                }
            }
            System.out.println(matriz[i][l]);
        }
    }

    public static void Letra_S(int matriz[][]) {
        int mitad = matriz.length / 2;
        int fila = matriz.length;
        int j = 0, l;
        System.out.println("MATRIZ CON FORMA DE S");
        for (int i = 0; i < fila; i++) {
            System.out.print(matriz[j][i] + "\t");
        }
        for (int i = 1; i <= mitad; i++) {
            System.out.print("\n" + matriz[i][j] + "\t");
        }
        for (int i = 1; i < fila; i++) {
            for (int k = 1; k < fila; k++) {
                if (i == mitad) {
                    System.out.print(matriz[i][k] + "\t");
                }
            }
        }
        System.out.println("");
        for (int i = mitad + 1; i < fila - 1; i++) {
            for (int k = 0; k < fila; k++) {
                if (k != fila - 1) {
                    System.out.print(" " + "\t");
                } else {
                    System.out.println(matriz[i][k]);
                }
            }
        }
        l = fila - 1;
        for (int i = 0; i < fila; i++) {
            System.out.print(matriz[l][i] + "\t");
        }
    }
}
 Si tienen alguna duda o comentario por favor no duden en hacerlo pueden contactarme en etapiasm@itsa.edu.co  o tambien etm930@gmail.com

ojala les sirva que esten bien saludos. 

martes, 9 de mayo de 2017

Calculo de Determinantes de arreglos o Matrices en JAVA NETBEANS con JOptionPane

Que tal muchachos aqui les dejo este codigo que hice recientemente, se que muchos actualmente buscamos códigos que estén por JOptionPane ya que por lo que veo es lo que enseñan ahora pero se encuentran por consola o que están programados de manera diferente o antigua, bueno igual aqui se los dejo realmente es sencillo si requieren de alguna explicación me avisan y con gusto los ayudo.



//Determinantes

import javax.swing.JOptionPane;

class matrices {

    public static void main(String args[]) {
        int i, j, determinante = 0;
        int[][] matriz = new int[3][3];
        JOptionPane.showMessageDialog(null, "Digite los elementos de la matriz");
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
            matriz[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Digite posicion" + i + ", " + j));
            }
        }
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                determinante = ((matriz[0][0] * matriz[1][1] * matriz[2][2]) + 
                                           (matriz[0][1] * matriz[1][2] * matriz[2][0]) + 
                                           (matriz[0][2] * matriz[1][0] * matriz[2][1]) - 
                                           (matriz[0][2] * matriz[1][1] * matriz[2][0]) - 
                                           (matriz[2][1] * matriz[0][0] * matriz[1][2]) - 
                                           (matriz[1][0] * matriz[0][1] * matriz[2][2]));
            }
        }
        JOptionPane.showMessageDialog(null, matriz[0][0] + "  " + matriz[0][1] + "  " + matriz[0][2]+"\n"+
                                            matriz[1][0] + "  " + matriz[1][1] + "  " + matriz[1][2]+"\n"+
                                            matriz[2][0] + "  " + matriz[2][1] + "  " + matriz[2][2]+"\n"+
                                            "Determinate de Matriz = " + determinante);
    }
}