elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda! Calcular determinante en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda! Calcular determinante en Java  (Leído 10,908 veces)
juancaa

Desconectado Desconectado

Mensajes: 140


[ Img^(Img) = Real ]


Ver Perfil
Ayuda! Calcular determinante en Java
« en: 3 Marzo 2012, 15:59 pm »

Pues veran, mi intencion es lograr un codigo recursivo en java que calcule el determinante de una matriz de orden N, el caso es que ya logre dicho codigo en C y ahora que estoy aprendiendo Java se me ocurrio traducirlo pero a la hora de compilarlo me tira algunos errores que no comprendo dado que todavia no estoy familiarizado con Java, aqui les enseño mi codigo:

Código:
import java.util.Scanner;

public class det_matrix {
    public static void main (String args[]) {
        Scanner in=new Scanner(System.in);
int i, j, dim, det;

         /* Leo matriz */
        System.out.print("Introduzca dimension matriz : ");
        dim=in.nextInt();
        int matrix[][]=new int[dim][dim];
        for (i=0; i<dim; i++) {
            System.out.print("Elementos fila "+i+" : ");
            for (j=0; j<dim; j++) {
                matrix[i][j]=in.nextInt();                                             
            }                       
        }
        System.out.println();

         /* Intento calcular determinante */
        System.out.print("Determinante = ");
        if (dim==1)
            System.out.print(matrix[0][0]);
        else
            System.out.print(det_matrix_N(matrix)); /* ERROR */
        System.out.println();
    }
   
    private static int sgn (int x) {
        if (x%2==0) return(1);
        else return(-1);           
    }
    private static int matrix_adj (int matrix[][], int matrix_aux[][], int dim, int m, int n) {
        int i, j, p, q;
        for (j=0, q=0; j<dim; j++)
            if (j!=n) {
                for (i=0, p=0; i<dim; i++)
                    if (i!=m) {
                        matrix_aux[p][q]=matrix[i][j];
                        p++;
                    }
                q++;               
            }
        return(dim-1);
    }
    private static int det_matrix_N (int matrix[][], int dim) {
        int i, j, dim_aux, det;
        for (i=0, j=0, det=0, dim_aux=dim; i<dim; i++) {
            det+=sgn(i+j)*matrix[i][j]*det_matrix_adj(matrix,dim_aux,i,j);
        }       
        return(det);
    }
    private static int det_matrix_adj (int matrix[][], int dim, int m, int n) {
        int matrix_aux[][]=new int[dim][dim];
        if ( (matrix_adj(matrix,matrix_aux,dim,m,n))==1 )
            return(matrix_aux[0][0]);
        return(det_matrix_N(matrix_aux,dim-1));
    }       
}

Segun el compilador de NetBeans, el error se encuentra al llamar a la funcion det_matrix_N(matrix) y no entiendo que hago mal ni tampoco como arreglarlo, este es el mensaje de error :

Codigo de error:
Citar
method det_matrix_N in class det_matrix.det_matrix cannot be applied to given tipes;
required: int[][], int
found: int[][]
reason: actual and formal argument lists differ in length

Cualquier idea o suggerencia es bien recibida.
Gracias de antemano!


En línea

Que tengas un buen dia!
camaleonh

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Ayuda! Calcular determinante en Java
« Respuesta #1 en: 3 Marzo 2012, 17:42 pm »

System.out.print(det_matrix_N(matrix)); /* ERROR */

Estás pasando solo 1 argumento a la función, ahí lo dicen claramente en los errores, , deberias pasarle tambien dim, puesto que es el otro argumento faltante.

det_matrix_N(matrix, dim)


En línea

juancaa

Desconectado Desconectado

Mensajes: 140


[ Img^(Img) = Real ]


Ver Perfil
Re: Ayuda! Calcular determinante en Java
« Respuesta #2 en: 3 Marzo 2012, 23:01 pm »

Muchisimas gracias camaleonh, tienes toda la razon del mundo!!

Que fallo tan estupido OMG!!

Problema solucionado!
En línea

Que tengas un buen dia!
allop

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Ayuda! Calcular determinante en Java
« Respuesta #3 en: 14 Agosto 2012, 08:09 am »

disculpa! y esto se puede aplicar para Java applet? esque soy nuevo en esto... Jeje :)
En línea

adwind

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda! Calcular determinante en Java
« Respuesta #4 en: 14 Agosto 2012, 18:41 pm »

disculpa! y esto se puede aplicar para Java applet? esque soy nuevo en esto... Jeje :)

Claro que si comapañero.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] Calcular determinante de una matriz de orden 'n'
Programación C/C++
Kasswed 9 39,318 Último mensaje 24 Enero 2013, 15:37 pm
por flony
calcular distancia entre casillas en java?
Java
smasher666 3 4,558 Último mensaje 3 Mayo 2009, 18:50 pm
por smasher666
calcular potencia en java? « 1 2 »
Java
cracken422 10 89,429 Último mensaje 11 Julio 2012, 00:24 am
por cracken422
AYUDA URGENTE EN C, calcular centros numericos
Programación C/C++
kikian94 1 6,148 Último mensaje 22 Octubre 2012, 21:22 pm
por leosansan
Calcular determinante de una matriz NxN
Programación C/C++
amchacon 1 15,065 Último mensaje 13 Febrero 2013, 20:35 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines