elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 23:47  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  [SRC] Calculadora Matricial ~
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SRC] Calculadora Matricial ~  (Leído 779 veces)
Dnk!

Desconectado Desconectado

Mensajes: 38



Ver Perfil WWW
[SRC] Calculadora Matricial ~
« en: 1 Diciembre 2010, 11:52 »

Aqui os presento mi modesta y humilde obra. Pero cuan cariño le tengo XD. No mucho mas que decir, ya viene todo explicado en el source. Le he añadido las importaciones de java.util, ademas de un main, para que os sea mas facil probar la clase, si lo quieren como clase externa solo borren esto y ya esta.

Código
/* AUTOR: d3n3k4 (Dnk!)
* WEB: http://d3n3k4.blogspot.com/
* FECHA: 01/DIC/2010
* DESCRIPCION:
* - Contiene varias clases que realizan calculos matriciales como:
* - suma y resta de matrices.
* - producto de matrices.
* - calcular la matriz transpuesta de una matriz.
* - comprobar si dos matrices son iguales.
* - comprobar si una matriz es cuadrada o no.
* - comprobar si una matriz es simetrica.
* - Se iran añadiendo mas funcionalidades, como multiplicacion por una constante,
*  calcular determinante, rango, etc... y seran expuestas en mi web.
* NOTA: Este codigo es libre y puede ser usado,modificado... siempre y cuando se
* mantenga los creditos y comentarios del autor.
*/

import java.util.Scanner;
 
public class CalC {
public static int[][] leeMatriz(int nFila, int nCol){
int[][] matriz = new int[nFila][nCol];
Scanner entrada = new Scanner(System.in);
 
for (int i = 0; i < nFila; i++) {
for (int j = 0; j < nCol; j++) {
matriz[i][j] = entrada.nextInt();
}
}
return matriz;
}
public static String escribeMatriz(int[][] matriz) {
String mat = "";
if (matriz != null) {
for (int i = 0; i < matriz.length; i++) {
mat += "|   ";
for (int j = 0; j < matriz[0].length; j++) {
mat += matriz[i][j] + "  ";
}
mat += "   |\n";
}
}
return mat;
}
public static int[][] sumaMatrices(int[][] mat1,int[][] mat2,boolean resta) {
int[][] matSal = null;
 
if (mat1.length == mat2.length && mat1[0].length == mat2[0].length) {
if (resta == true) { //cambia de signo mat2 para despues sea restada.
for (int i = 0; i < mat2.length; i++) {
for (int j = 0; j < mat2[0].length;j++) {
mat2[i][j] = mat2[i][j] * -1;
}
}
}
matSal = new int[mat1.length][mat1[0].length];
for (int i = 0; i < mat1.length; i++) {
for (int j = 0; j < mat1[0].length; j++) {
matSal[i][j] = mat1[i][j] + mat2[i][j];
}
}
}
return matSal;
}
public static int[][] transpuesta(int[][] mat1) {
int[][] M_trans = new int[mat1[0].length][mat1.length];
 
for (int i = 0; i < M_trans.length; i++) {
for (int j = 0; j < M_trans[0].length;j++) {
M_trans[i][j] = mat1[j][i];
}
}
return M_trans;
}
public static int[][] productoMatriz(int[][] mat1,int[][] mat2) {
int[][] matSal = null;
 
if (mat1[0].length == mat2.length) {
matSal = new int[mat1.length][mat2[0].length];
 
for (int i = 0; i < matSal.length; i++) {
for (int j = 0; j < matSal[0].length; j++) {
for (int k = 0; k < mat2.length; k++) {
matSal[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
return matSal;
}
public static boolean esIgual(int[][] mat1,int[][] mat2) {
boolean igual = false;
 
if (mat1.length == mat2.length && mat1[0].length == mat2[0].length) {
igual = true;
for (int i = 0; i < mat1.length; i++) {
for (int j = 0; j < mat1.length; j++) {
if (mat1[i][j] != mat2[i][j]) {
igual = false;
}
}
}
}
return igual;
}
public static boolean esCuadrada(int[][] mat1) {
boolean cuadrada = false;
if (mat1.length == mat1[0].length) {
cuadrada = true;
}
return cuadrada;
}
public static boolean esSimetrica(int[][] mat1) {
boolean simetrica = false;
int[][] mat2 = transpuesta(mat1);
if (esIgual(mat1,mat2)) {
simetrica = true;
}
return simetrica;
}
public static void main(String[] args) {
/*int[][] matriz1,matriz2,resultado = null;
Scanner entrada = new Scanner(System.in);
int filas = 0, columnas = 0;*/

 
/*System.out.println("Introduce el numero de filas");
filas = entrada.nextInt();
System.out.println("Introduce el numero de columnas");
columnas = entrada.nextInt();
System.out.println("Introduce la primera matriz:");
matriz1 = leeMatriz(filas,columnas);*/

 
/*System.out.println("Introduce el numero de filas");
filas = entrada.nextInt();
System.out.println("Introduce el numero de columnas");
columnas = entrada.nextInt();
System.out.println("Introduce la primera matriz:");
matriz2 = leeMatriz(filas,columnas);*/

 
//resultado = sumaMatrices(matriz1,matriz2,true);
//resultado = transpuesta(matriz1);
//resultado = productoMatriz(matriz1,matriz2);
/*if (resultado == null) {
System.out.println("Error");
}*/

/*if (esIgual(matriz1,matriz2)) {
System.out.println("Son iguales");
} else {
System.out.println("No son iguales");
}*/

/*if (esCuadrada(matriz1)) {
System.out.println("Es cuadrada");
} else {
System.out.println("No es cuadrada");
}*/

/*if (esSimetrica(matriz1)) {
System.out.println("Es simetrica");
} else {
System.out.println("No es simetrica");
}*/

//System.out.print(escribeMatriz(resultado));
}
 
}
 

xDnk!
Recuerden respeten el autor  ;)


En línea




Comentar es agradecer.
Visita Mi Blob
Debci
Moderador
***
Desconectado Desconectado

Mensajes: 1.945


Actualizate o muere!


Ver Perfil WWW
Re: [SRC] Calculadora Matricial ~
« Respuesta #1 en: 2 Diciembre 2010, 22:58 »

Se agradece el aporte.
Muchisimas gracias!

Saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Teclado matricial -> binario
Electrónica
alfafa 1 6,371 Último mensaje 3 Noviembre 2005, 10:39
por Syphroot
calibracion impresora matricial
Hardware
roger hack 2 1,226 Último mensaje 26 Noviembre 2005, 20:06
por roger hack
Teklado matricial konektado a pic 16f874
Electrónica
ijfa 1 728 Último mensaje 29 Diciembre 2005, 17:15
por ijfa
imposible imprimir matricial
Foro Libre
CHURKITO 2 975 Último mensaje 3 Enero 2007, 20:58
por CHURKITO
Ayuda programa cálculo matricial.
Programación C/C++
irtchi 2 1,013 Último mensaje 27 Marzo 2010, 04:10
por Littlehorse
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines