Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ejercicio1;
- import javax.swing.JOptionPane;
- import javax.swing.JTextArea;
- public class Ejercicio1 {
- @SuppressWarnings("empty-statement")
- public static void main(String[] args) {
- int matriz[][];
- int filas, columnas, fila, columna = 0, numero = 0, opcion, cualFila = 0, cualColumna = 0, cualNumero = 0, nuevoNumero = 0, posicionx, posiciony, burbuja;
- boolean encontrado = false;
- String salida = "";
- JTextArea hoja = new JTextArea();
- do {
- filas = Integer.parseInt(JOptionPane.showInputDialog("¿Cuántas filas quiere? (máximo 20)"));
- columnas = Integer.parseInt(JOptionPane.showInputDialog("¿Cuántas columnas quiere? (máximo 20)"));
- } while (filas <= 0 || columnas <= 0 || filas > 20 || columnas > 20);
- matriz = new int[filas][columnas];
- //asignar datos
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- do {
- numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese un número que sea mayor o igual a 0 pero menor a 400 para la fila y columna"));
- } while (numero < 0 || numero > 400);
- matriz[fila][columna] = numero;
- }
- }
- do {
- opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver Matriz\n2. Cambiar número\n3. Ordenar ascendentemente\n4.Ordenar descedentemente"));
- switch (opcion) {
- case 1:
- //mostrar matriz
- salida = "";
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- salida = salida + matriz[fila][columna] + "\t";
- }
- salida = salida + "\n";
- }
- hoja.setText(salida);
- JOptionPane.showMessageDialog(null, hoja);
- break;
- case 2:
- //cambiar numero
- encontrado = false;
- do {
- cualNumero = Integer.parseInt(JOptionPane.showInputDialog("¿Cuál numero va a cambiar?"));
- } while (cualNumero < 0 || cualNumero > 400);
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- if (cualNumero == matriz[fila][columna]) {
- encontrado = true;
- cualFila = fila;
- cualColumna = columna;
- }
- }
- }
- if (encontrado = true) {
- do {
- nuevoNumero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el nuevo número"));
- } while (nuevoNumero < 0 || nuevoNumero > 400);
- } else {
- JOptionPane.showMessageDialog(null, "ERROR");
- }
- matriz[cualFila][cualColumna] = nuevoNumero;
- if (encontrado = true) {
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- if (matriz[fila][columna] == cualNumero) {
- matriz[fila][columna] = nuevoNumero;
- }
- }
- }
- }
- break;
- case 3:
- //ascendente
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- for (posicionx = 0; posicionx < filas; posicionx++) {
- for (posiciony = 0; posiciony < columnas; posiciony++) {
- if (matriz[fila][columna] < matriz[posicionx][posiciony]) {
- burbuja = matriz[fila][columna];
- matriz[fila][columna] = matriz[posicionx][posiciony];
- matriz[posicionx][posiciony] = burbuja;
- }
- }
- }
- }
- }
- salida = "";
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- salida = salida + matriz[fila][columna] + "\t";
- }
- salida = salida + "\n";
- }
- hoja.setText(salida);
- JOptionPane.showMessageDialog(null, hoja);
- break;
- case 4:
- //descendente
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- for (posicionx = 0; posicionx < filas; posicionx++) {
- for (posiciony = 0; posiciony < columnas; posiciony++) {
- if (matriz[fila][columna] > matriz[posicionx][posiciony]) {
- burbuja = matriz[fila][columna];
- matriz[fila][columna] = matriz[posicionx][posiciony];
- matriz[posicionx][posiciony] = burbuja;
- }
- }
- }
- }
- }
- salida = "";
- for (fila = 0; fila < filas; fila++) {
- for (columna = 0; columna < columnas; columna++) {
- salida = salida + matriz[fila][columna] + "\t";
- }
- salida = salida + "\n";
- }
- hoja.setText(salida);
- JOptionPane.showMessageDialog(null, hoja);
- default:
- break;
- }
- } while (opcion >= 1 && opcion <= 4);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement