Esta es la Clase Matriz
package matrizvisual;
/**
*
* @author Reynaldo
*/
public class Matriz {
public int n;//Tam
public int [][] x; //Arreglo
public Matriz(int n){//SOBRECARGA DEL METODO
this.n=n;
x = new int[n][n];
for(int i = 0; i < n; i++){
for(int j = 0 ; j < n ; j++){
x[i][j]=0;
}
}
}
public Matriz(int [][] x){//SOBRECARGA DEL METODO
this.x=x;
n= x.length;
}
public String toString(){//REDEFINICION DE METODO
String texto=" ";
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < n ; j++){
texto += "\t "+(int)Math.round(1100*x[i][j])/1100;
}
texto += " \n";
}
texto += " \n";
return texto;
}
public static int Diagonal(int [][] x,int n){
int diagonal=0;
for(int i = 0 ; i < n ; i++){
diagonal = diagonal + x[i][i];
}
return diagonal;
}
public int par(int x[][], int n){
int cont = 0;
for(int i = 0; i < n; i++){
for(int j = 0 ; j < n ; j++){
if(x[i][j] % 2 == 0){
cont = cont + 1;
}
}
}
return cont;
}
public int Impar(int x[][], int n){
int cont = 0;
for(int i = 0; i < n; i++){
for(int j = 0 ; j < n ; j++){
if(x[i][j] % 2 != 0){
cont = cont + 1;
}
}
}
return cont;
}
public void ordenar(int x[][],int n){
for(int i = 0 ; i < n ; i++){//ordena la matriz de abajo hacia arriba
for(int j = 0 ; j < n ; j++){
for(int l = 0 ; l < n ; l++){
for(int m = 0 ; m < n ; m++){
if(x[i][j] < x[l][m]){
int aux = x[i][j];
x[i][j] = x[l][m];
x[l][m] = aux;
}
}
}
}
}
}
public void Ivertida(int x[][],int n){
for(int i = 0 ; i < n ; i++){//ordena la matriz de abajo hacia arriba
for(int j = 0 ; j < n ; j++){
for(int l = 0 ; l < n ; l++){
for(int m = 0 ; m < n ; m++){
if(x[i][j] > x[l][m]){
int aux = x[i][j];
x[i][j] = x[l][m];
x[l][m] = aux;
}
}
}
}
}
}
public int Mayor(int x[][], int n){
int mayor = x.length;
for(int i = 0;i < n ; i++){
for(int j = 0 ; j < n ; j++){
if(mayor < x[i][j]){
mayor = x[i][j];
}
}
}
return mayor;
}
public int menor(int x[][], int n){
int menor = x.length;
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < n ; j++){
if(x[i][j] <= menor){
menor = x[i][j];
}
}
}
return menor;
}
Para programar el Botón salir necesitamos ingresar el siguiente código en su evento ActionPerformed. El Botón salir nos pemitira salir de la aplicación en cualquier momento que el usuario lo decida.
private void BtnSalirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
Para programar en Botón Limpiar necesitamos ingresar el siguiente código en su evento ActionPerformed. el Botón limpiar nos permitirá limpiar todos los controles luego que se hayan ingresados los datos.
private void BtnLimpiarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String Limpiar = "";
TxtFilas.setText(Limpiar);
TxtColumnas.setText(Limpiar);
TxtMostrarMatriz.setText(Limpiar);
}
Para Programar el Boton Mostrar necesitaremos agregarel siguiente codigo en su evento ActionPerformed. el cual nos permitira mostrar los datos que ingresemos en el JOptionPane.ShowInput y visualizarlos en el Cuadro de texto.
private void BtnLMostrarActionPerformed(java.awt.event.ActionEvent evt) {
int n= Integer.parseInt(TxtFilas.getText());
int m= Integer.parseInt(TxtColumnas.getText());
int [][] a1 = new int[n][m];
int [][] t = new int[n][m];
int [][] g = new int[n][m];
int v3[][] = new int[n][m];
String cad = "";
int i,j;
boolean igual = true;
Matriz a = new Matriz(a1);
Matriz h = new Matriz(g);
Matriz z = new Matriz(t);
Matriz a3 = new Matriz(v3);
if(TxtFilas.getText().equals(TxtColumnas.getText())){
for( i = 0 ; i < n ; i++){
for( j = 0 ;j < m ; j++){
cad = JOptionPane.showInputDialog(" " +"Fila"+ i +" "+"Columna"+ j);
a1[i][j] = Integer.parseInt(cad);
t[i][j] = Integer.parseInt(cad);
g[i][j] = Integer.parseInt(cad);
}
}
for( i = 0; i < n ; i++){
for( j = 0 ;j < m ; j++){
cad = JOptionPane.showInputDialog(" " + " " + "[" +(i+1)+"]");
v3[i][j] = Integer.parseInt(cad);// v[i]= (int)(Math.random()* n + n);
if(a1[i][j] != v3[i][j]){
igual = false;
}
if(igual){
JOptionPane.showMessageDialog(null, "Son iguales");
}else
JOptionPane.showMessageDialog(null,"No son Iguales");
}
}
a.ordenar(a1 , n);
z.Ivertida(t, n);
TxtMostrarMatriz.setText("Matriz 1\n" + h + "Matriz 2\n" + a3 + "\nMatriz Ordenada:\n " + a + "Matriz Invertida:\n " + z +"\nSuma Diagonol: " + h.Diagonal(g, g.length) + "\nCant Pares: " + a.par(a1, a1.length) + "\nCant Impares: " + a.Impar(a1, a1.length) + "\nElem Mayor: " + a.Mayor(a1, a1.length) + "\nElem Menores: " + a.menor(a1, a1.length));
}else{
JOptionPane.showMessageDialog(null,"La matriz debe de ser cuadrada");
}
}
Comentarios
Publicar un comentario
Deja tu Comentario.