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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 2 [3] 4 5
21  Programación / Java / Que quiere decir esta expresion de Java? en: 14 Junio 2012, 02:22 am
Al examinar algunas lineas de codigo por internet en Java me encontre con esto:

Código:
int x = (num >> 24) & 100;

Haciendo pruebas he visto que asigna el valor de la derecha a x solo  cuando num es un numero negativo... No entiendo ni que qiueren decir los signos ">>" en esa expresion ni la importancia del numero 24... Alguien me lo puede explicar porfis??

Gracias de antemano.
22  Programación / Programación C/C++ / [C] [Source] Determinante Matriz orden "N" en: 13 Junio 2012, 02:26 am
He aqui mi nueva version remasterizada del codigo para el calculo del determinante de una matriz cuadrada de orden N.
Este codigo es lo mas simple posible para realizar el calculo del determinante de una matriz que se me ha ocurrido (62 lineas), evidentemente se puede optimizar para reducir la complejidad del algoritmo pero eso va a gusto de cada uno, yo solo comparto el codigo para aquellos que les interese.

Nota: El algoritmo calcula el determinante de una matriz de orden "N" mediante adjuntos, empieza desde la primera columna y va reduciendo hasta llegar a la ultima mediante recursividad, tan simple como eso.


Código
  1. #include <stdio.h>
  2. #define N 100
  3.  
  4. int sgn (int x) {
  5. if (x%2==0) return(1);
  6. return(-1);
  7. }
  8. int read_dim (int *dim) {
  9. int nl;
  10. char aux;
  11. printf("\nIntroduzca dimension matriz cuadrada (<100): ");
  12. nl=scanf("%d", &(*dim));
  13. if (nl!=1) {
  14. scanf("%c", &aux);
  15. while (aux!='\n')
  16. scanf("%c", &aux);
  17. }
  18. if ( (*dim>=100) || (*dim<=0) )
  19. return(0);
  20. return(1);
  21. }
  22. void read_matrix (int matrix[N][N], int dim) {
  23. int i, j;
  24. printf("\nIntroduzca elementos matriz...\n");
  25. for (i=1; i<=dim; i++) {
  26. printf("Elementos fila %d: ", i);
  27. for (j=0; j<dim; j++)
  28. scanf("%d", &matrix[i-1][j]);
  29. }
  30. }
  31. void matrix_adj (int matrix[N][N], int matrix_aux[N][N], int dim, int m, int n) {
  32. int i, j, p, q;
  33. for (j=0, q=0; j<dim; j++)
  34. if (j!=n) {
  35. for (i=0, p=0; i<dim; i++)
  36. if (i!=m) {
  37. matrix_aux[p][q]=matrix[i][j];
  38. p++;
  39. }
  40. q++;
  41. }
  42. }
  43. int det_matrix_N (int matrix[N][N], int dim) {
  44. int i, j, dim_aux, det;
  45. for (i=0, j=0, det=0, dim_aux=dim; i<dim; i++)
  46. det+=sgn(i+j)*matrix[i][j]*det_matrix_adj(matrix,dim_aux,i,j);
  47. return(det);
  48. }
  49. int det_matrix_adj (int matrix[N][N], int dim, int m, int n) {
  50. int matrix_aux[N][N];
  51. if (dim==1) return(1);
  52. matrix_adj(matrix,matrix_aux,dim,m,n);
  53. return det_matrix_N(matrix_aux,dim-1);
  54. }
  55.  
  56. main() {
  57. int dim, matrix[N][N];
  58. while (!read_dim(&dim))
  59. printf("Dimension no valida (<100).");
  60. read_matrix(matrix,dim);
  61. printf("\nDeterminante = %d.\n\n", det_matrix_N(matrix,dim));
  62. }
23  Media / Multimedia / Duda conversores de Video en: 9 Marzo 2012, 17:44 pm
Buenas! Hace poco me aficione a pasar mis vidios .avi con sus subtitulos en .srt a .mkv añadiendo asi los subtitulos dentro del video. Pues bien, el caso es que tube que encontrar un conversor gratuito que se ajustara a dichos requisitos y vale decir que no fue muy dificil, los que uso actualmente son RIPBOT264 y FREE VIDEO CONVERTER. Con el tiempo me di cuenta que dependiendo del programa que usase, el peso de los videos variaba en algo excesivo, si el tamaño original del video era de 700 MB siendo originalmente un .AVI, al convertirlo a .MKV usando FREE VIDEO CONVERTER el tamaño aumentaba a practicamente 1GB mientras que si usaba RIPBOT264 el archivo reduce su tamaño original a unos 500 MB.

Se debe esto a perdida de calidad o a mejor compresion? a simple vista, los archivos convertidos a MKV con RIPBOT264 no pierden  calidad ni resolucion pero ocupan un tamaño menor que el archivo original, como puede ser esto? (vale la pena mencionar que la conversion en RIPBOT de cada video dura mucho mas que con FREE VIDEO CONVERTER).

Como curiosidad final, me gustaria saber com evaluar la perdida de calidad de un video al convertirlo de un formato a otro.

Gracias de antemano!
Un saludo, fMtQr.
24  Programación / Programación C/C++ / Libreria math.h en: 5 Marzo 2012, 17:18 pm

Hay algun modo de poder acceder a la libreria math.h de C para hallar el codigo que utiliza esta libreria a la hora de calcular una raiz cuadrada o un logaritmo?

Mi intencion es poder analizar ese codigo por curiosidad, he estado pensando y no se me ocurre ningun metodo para crear una funcion que calcule los logaritmos de una base determinada...

Gracias de antemano!
Nota: ya he estado horas buscado en google y no he encontrado absolutamente NADA de informacion al respecto, 0, nothing!
25  Programación / Programación General / Algoritmo para calcular logaritmos ? en: 5 Marzo 2012, 14:30 pm
Me gustaria saber que algoritmos se emplean para calcular los logaritmos.

Se que se pueden calcular muchas de las funciones como el seno y el coseno (entre otras) mediante aproximaciones per series de taylor (por ejemplo) y para las raizes cuadradas sirve el algoritmo del metodo de Newton de la recta tangente o de la biseccion.

Mi pregunta es, cuales son los algoritmos que se utilizan actualmente para hacer dichos calculos, que metodo utilizan, etc.

Uno de los algoritmos que me gustaria saber es el del calculo de logaritmos en distintas bases.
Hay algun lugar donde pueda encontrar informacion al respecto?

Gracias de antemano!
26  Programación / Java / 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!
27  Programación / Java / Funciones con matrices en: 3 Marzo 2012, 13:30 pm
Buenas, estoy intentando hacer una funcion en java que al llamarla opere con la matriz empleada como argumento, algo asi:

Código:
det=det_matrix_N(matrix[][]);

El caso es que no se como pasar la matriz para que haga las operaciones pertinentes, es decir, no se si escribir como argumento det_matrix_N(matrix[dim][dim]); etc...
Alguna idea?

Gracias de antemano!
28  Programación / Programación C/C++ / Determinante matriz de orden 'N' en: 7 Febrero 2012, 11:45 am
Bueno, no hace mucho hice un algoritmo para calcular el determinante de una matriz de orden 'N' en C, se centra basicamente en la deifinicion del calculo del determinante de una matriz de orden 'N'.

Para aquellos que os interese aqui os dejo mi codigo, aunque creo que no contiene errores no estoy seguro, podeis probarlo y decirme que tal, a mi no me ha dado problemas:

Código:
#include <stdio.h>
#define N 100
int sgn (int x);
int read_dim (int *dim);
int matrix_adj (int matrix[N][N], int matrix_aux[N][N], int dim, int m, int n);
int det_matrix_N (int matrix[N][N], int dim);
int det_matrix_adj (int matrix[N][N], int dim, int m, int n);

main() {
int i, j, dim, det, matrix[N][N];
while (!read_dim(&dim))
printf("Dimension no valida (<100).");
printf("\nIntroduzca elementos matriz...\n");
for (i=1; i<=dim; i++) {
printf("Elementos fila %d: ", i);
for (j=0; j<dim; j++)
scanf("%d", &matrix[i-1][j]);
}
if (dim!=1)
det=det_matrix_N(matrix,dim);
else
det=matrix[0][0];
printf("\nDeterminante = %d.\n\n", det);
}

int sgn (int x) {
if (x%2==0) return(1);
return(-1);
}
int read_dim (int *dim) {
int nl;
char aux;
printf("\nIntroduzca dimension matriz cuadrada (<100): ");
nl=scanf("%d", &(*dim));
if (nl!=1) {
scanf("%c", &aux);
while (aux!='\n')
scanf("%c", &aux);
}
if ( (*dim>=100) || (*dim<=0) )
return(0);
return(1);
}
int matrix_adj (int matrix[N][N], int matrix_aux[N][N], 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);
}
int det_matrix_N (int matrix[N][N], 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);
}
int det_matrix_adj (int matrix[N][N], int dim, int m, int n) {
int matrix_aux[N][N];
if ( (matrix_adj(matrix,matrix_aux,dim,m,n)) == 1 )
return(matrix_aux[0][0]);
return(det_matrix_N(matrix_aux,dim-1));
}

Un saludo y espero que os sirva!!
29  Programación / Scripting / Ayuda shell script basico en: 11 Diciembre 2011, 03:03 am
Lo que quiero conseguir es un script que me abra una terminal y en ella ejecute un comando y que muestre la salida de este sin que cierre el terminar al finalizar la ejecucion :

Ejemplo:
#!/bin/sh
ls //comando 1
dir // comando 2

Nota: A ser posible, que por cada comando se abra un terminal y que esta no se cierre al finalizar la ejecucion del comando.

Muchas gracias de antemano.
30  Sistemas Operativos / Windows / Mostrar animaciones al pulsar teclas en: 5 Diciembre 2011, 16:11 pm
Pues eso, me gustaria saber si existe alguna aplicacion que permita mostrar una pequeña imagen que indique cuando se pulsa una determinada tecla del ordenador, por ejemplo al usar el atajo subir volumen del portatil, que se indique que se esta pulsando tal tecla y a ser posible, que se muestre la barra de volumen que aumenta...

Gracias de antemano.
Páginas: 1 2 [3] 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines