package calculadora_matrices;
import [Link].*;
public class CALCULADORA_MATRICES {
public static void main(String[] args) {
// TODO code application logic here
//Declaracion de variables
int numfa, numfb, numca, numcb, bandera, opcion;
bandera=0;
String aux;
double matrizA[][] = new double[50][50];
double matrizB[][] = new double[50][50];
double matrizC[][] = new double[50][50];
//Mensaje de Bienvenida
[Link](null, "Bienvenido");
[Link](null, "Calculadora Basica de Matrices");
[Link](null, "Matriz A");
//Dimension de la matriz A y su ingreso
aux = [Link]("Ingrese el numero de filas de la Matr
iz A");
numfa = [Link](aux);
aux = [Link]("Ingrese el numero de columnas de la M
atriz A");
numca = [Link](aux);
[Link](null, "Ingrese los elementos de la Matriz
A");
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numca; j++) {
aux = [Link]("elem A:" + i + "-" + j);
matrizA[i][j] = [Link](aux);
}
}
//Dimension de la matriz B y su ingreso
[Link](null, "Matriz B");
aux = [Link]("Ingrese el numero de filas de la Matr
iz B");
numfb = [Link](aux);
aux = [Link]("Ingrese el numero de columnas de la M
atriz B");
numcb = [Link](aux);
[Link](null, "Ingrese los elementos de la Matriz
B");
for (int i = 0; i < numfb; i++) {
for (int j = 0; j < numcb; j++) {
aux = [Link]("elem B:" + i + "-" + j);
matrizB[i][j] = [Link](aux);
}
}
aux = [Link]("Elija una opcion: \n 1: suma \n 2: re
sta \n 3:multiplicacin \n 4:divisin");
opcion = [Link](aux);
switch (opcion) {
case 1:
if (numfa == numfb && numca == numcb) {
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numca; j++) {
matrizC[i][j] = matrizA[i][j] + matrizB[i][j];
}
}
} else {
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numcb; j++) {
matrizC[i][j] = 9999;
bandera =1;
}
}
}
break;
case 2:
if (numfa == numfb && numca == numcb) {
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numca; j++) {
matrizC[i][j] = matrizA[i][j] - matrizB[i][j];
}
}
} else {
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numcb; j++) {
matrizC[i][j] = 9999;
bandera =1;
}
}
}
break;
case 3:
if (numca == numfb) {
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numcb; j++) {
matrizC[i][j] = 0;
for (int k = 0; k < numfa; k++) {
matrizC[i][j] = matrizC[i][j] + matrizA[i][k] *
matrizB[k][j];
}
}
}
} else {
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numcb; j++) {
matrizC[i][j] = 9999;
bandera = 2;
}
}
}
break;
case 4:
if (numfa == numfb && numca == numcb)
{
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numca; j++) {
if (matrizB[i][j] == 0) {
matrizC[i][j] = 9999;
} else {
matrizC[i][j] = matrizA[i][j] / matrizB[i][j];
}
}
}
}
else
{
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numcb; j++) {
matrizC[i][j] = 9999;
bandera =1;
}
}
}
break;
default:
[Link]("ERROR DE OPCION");
break;
}
if (bandera==1)
{
[Link](null, "Para poder sumar, restar, o div
idir matrices \n Las mismas deben der de igual dimension \n es decir mismo numer
o de filas y columnas ", "Error", JOptionPane.ERROR_MESSAGE);
}
if (bandera==2)
{
[Link](null, "Para poder multiplicar matrices
\n El numero de columnas de la Matriz A debe ser igual al numero de filas de la
Matriz B", "Error", JOptionPane.ERROR_MESSAGE);
}
//Impresion de la matriz A
[Link]("MATRIZ A:");
[Link]();
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numca; j++) {
[Link](matrizA[i][j] + "\t");
}
[Link]();
}
//Impresion de la matriz B
[Link]();
[Link]("MATRIZ B:");
[Link]();
for (int i = 0; i < numfb; i++) {
for (int j = 0; j < numcb; j++) {
[Link](matrizB[i][j] + "\t");
}
[Link]();
}
//Impresion de la matriz B
[Link]();
[Link]("MATRIZ RESULTANTE:");
[Link]();
for (int i = 0; i < numfa; i++) {
for (int j = 0; j < numcb; j++) {
if (matrizC[i][j] == 9999) {
[Link]("error");
}
[Link](matrizC[i][j] + "\t");
}
[Link]();
}
}
}