Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.45 KB | None | 0 0
  1. package ejercicio1;
  2.  
  3. import javax.swing.JOptionPane;
  4. import javax.swing.JTextArea;
  5.  
  6. public class Ejercicio1 {
  7.  
  8. @SuppressWarnings("empty-statement")
  9. public static void main(String[] args) {
  10. int matriz[][];
  11. int filas, columnas, fila, columna = 0, numero = 0, opcion, cualFila = 0, cualColumna = 0, cualNumero = 0, nuevoNumero = 0, posicionx, posiciony, burbuja;
  12. boolean encontrado = false;
  13. String salida = "";
  14. JTextArea hoja = new JTextArea();
  15.  
  16. do {
  17. filas = Integer.parseInt(JOptionPane.showInputDialog("¿Cuántas filas quiere? (máximo 20)"));
  18. columnas = Integer.parseInt(JOptionPane.showInputDialog("¿Cuántas columnas quiere? (máximo 20)"));
  19. } while (filas <= 0 || columnas <= 0 || filas > 20 || columnas > 20);
  20. matriz = new int[filas][columnas];
  21.  
  22. //asignar datos
  23. for (fila = 0; fila < filas; fila++) {
  24. for (columna = 0; columna < columnas; columna++) {
  25. do {
  26. 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"));
  27. } while (numero < 0 || numero > 400);
  28. matriz[fila][columna] = numero;
  29. }
  30. }
  31.  
  32. do {
  33. opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver Matriz\n2. Cambiar número\n3. Ordenar ascendentemente\n4.Ordenar descedentemente"));
  34. switch (opcion) {
  35. case 1:
  36. //mostrar matriz
  37. salida = "";
  38. for (fila = 0; fila < filas; fila++) {
  39. for (columna = 0; columna < columnas; columna++) {
  40. salida = salida + matriz[fila][columna] + "\t";
  41. }
  42. salida = salida + "\n";
  43. }
  44. hoja.setText(salida);
  45. JOptionPane.showMessageDialog(null, hoja);
  46. break;
  47. case 2:
  48. //cambiar numero
  49. encontrado = false;
  50. do {
  51. cualNumero = Integer.parseInt(JOptionPane.showInputDialog("¿Cuál numero va a cambiar?"));
  52. } while (cualNumero < 0 || cualNumero > 400);
  53. for (fila = 0; fila < filas; fila++) {
  54. for (columna = 0; columna < columnas; columna++) {
  55. if (cualNumero == matriz[fila][columna]) {
  56. encontrado = true;
  57. cualFila = fila;
  58. cualColumna = columna;
  59. }
  60. }
  61. }
  62. if (encontrado = true) {
  63. do {
  64. nuevoNumero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el nuevo número"));
  65. } while (nuevoNumero < 0 || nuevoNumero > 400);
  66.  
  67. } else {
  68. JOptionPane.showMessageDialog(null, "ERROR");
  69. }
  70. matriz[cualFila][cualColumna] = nuevoNumero;
  71. if (encontrado = true) {
  72. for (fila = 0; fila < filas; fila++) {
  73. for (columna = 0; columna < columnas; columna++) {
  74. if (matriz[fila][columna] == cualNumero) {
  75. matriz[fila][columna] = nuevoNumero;
  76. }
  77. }
  78. }
  79. }
  80.  
  81. break;
  82. case 3:
  83. //ascendente
  84. for (fila = 0; fila < filas; fila++) {
  85. for (columna = 0; columna < columnas; columna++) {
  86. for (posicionx = 0; posicionx < filas; posicionx++) {
  87. for (posiciony = 0; posiciony < columnas; posiciony++) {
  88. if (matriz[fila][columna] < matriz[posicionx][posiciony]) {
  89. burbuja = matriz[fila][columna];
  90. matriz[fila][columna] = matriz[posicionx][posiciony];
  91. matriz[posicionx][posiciony] = burbuja;
  92.  
  93. }
  94. }
  95. }
  96. }
  97. }
  98. salida = "";
  99. for (fila = 0; fila < filas; fila++) {
  100. for (columna = 0; columna < columnas; columna++) {
  101. salida = salida + matriz[fila][columna] + "\t";
  102. }
  103. salida = salida + "\n";
  104. }
  105. hoja.setText(salida);
  106. JOptionPane.showMessageDialog(null, hoja);
  107.  
  108. break;
  109. case 4:
  110. //descendente
  111. for (fila = 0; fila < filas; fila++) {
  112. for (columna = 0; columna < columnas; columna++) {
  113. for (posicionx = 0; posicionx < filas; posicionx++) {
  114. for (posiciony = 0; posiciony < columnas; posiciony++) {
  115. if (matriz[fila][columna] > matriz[posicionx][posiciony]) {
  116. burbuja = matriz[fila][columna];
  117. matriz[fila][columna] = matriz[posicionx][posiciony];
  118. matriz[posicionx][posiciony] = burbuja;
  119.  
  120. }
  121. }
  122. }
  123. }
  124. }
  125. salida = "";
  126. for (fila = 0; fila < filas; fila++) {
  127. for (columna = 0; columna < columnas; columna++) {
  128. salida = salida + matriz[fila][columna] + "\t";
  129. }
  130. salida = salida + "\n";
  131. }
  132. hoja.setText(salida);
  133. JOptionPane.showMessageDialog(null, hoja);
  134. default:
  135. break;
  136. }
  137. } while (opcion >= 1 && opcion <= 4);
  138.  
  139. }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement