|
62
|
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: #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!!
|
|
|
64
|
Programación / Scripting / Re: Ayuda shell script basico
|
en: 11 Diciembre 2011, 14:01 pm
|
Buenas, tal vez no me haya explicado bien, a ver si alguien es capaz de ayudarme un poco ahora y captan la idea de lo que quiero hacer, gracias de antemano. Este es mi procedimiento:
#!/bin/bash gnome-terminal -e sh /home/miusuario/go1.sh &
Donde go1.sh contiene : #!/bin/bash echo hola
La idea es que al llamar al script padre se ejecute el contenido del script go1.sh en una nueva terminal, es decir, se muestre "hola" en la pantalla de la terminal, pero no se porque solo consigo abrir la nueva terminal, alguna idea??
Muchas gracias de antemano!!
|
|
|
65
|
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.
|
|
|
66
|
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.
|
|
|
68
|
Sistemas Operativos / GNU/Linux / Modificar privilegios aplicacion?
|
en: 31 Octubre 2011, 18:08 pm
|
Veran, estoy usando un programa para la Uni, concretamente un debugger (ddd data display debugger) para buscar los errores de las aplicaciones en C que programamos, me gustaria saber como puedo desactivar los "popups" o mensajes de bienvenida del programa Data Display Debugger, he probado de desactivarlo por mis propios medios en el menu de opciones en la parte superior : "Edit-> Preferences -> Startup" y destildado las opciones : splash screen y tip of the day, pero el caso es que solo recuerda la configuracion cuando accedo al DDD como superusuario y no como usuario sin privilegios, y ademas al intentar correr el programa sin tener privilegios de admin me manda los siguientes mensajes de error :
Creating "/home/fmtqr/.ddd/sessions/"... Creating "/home/fmtqr/.ddd/sessions/" failed: Permission denied Creating "/home/fmtqr/.ddd/themes/"... Creating "/home/fmtqr/.ddd/themes/" failed: Permission denied
Mientras que si accedo como superadmin, recuerda los cambios en la configuracion. Intuyo que el problema esta en los privilegios de la aplicacion que no me permiten modificarla sin tener derechos privilegiados, hay alguna manera de modificar esto?
Gracias de antemano.
|
|
|
70
|
Sistemas Operativos / GNU/Linux / Ayuda para compilar netcat
|
en: 10 Febrero 2011, 21:53 pm
|
Resulta que he instalado netcat para ubuntu para probarlo y me encuentro con la sorpresa de que viene capado por defecto, de tal forma que he tenido que buscar la versión "sin capar" para compilarla desde consola con los siguientes comandos :
make linuxDFLAGS=-DTELNET -DGAPING_SECURITY_HOLE make install linuxDFLAGS=-DTELNET -DGAPING_SECURITY_HOLED
De momento todo parecía ir bien pero al intentar compilarlo con el comando :
gcc netcat.c
Me tira el siguiente error :
netcat.c: In function ‘holler’: netcat.c:193: warning: format not a string literal and no format arguments /tmp/ccXaqzkK.o: In function `main': netcat.c:(.text+0x1d9b): undefined reference to `res_init' collect2: ld returned 1 exit status
Alguien me puede echar un cable ? Todavia soy novatillo y no se bien como compilar, talvez me falte algun parámetro o deba usar el g++
Salu2 y gracias de antemano
|
|
|
|
|
|
|