|
Mostrar Mensajes
|
Páginas: 1 [2]
|
11
|
Programación / Java / Recursividad con funciones void, ayuda
|
en: 2 Abril 2011, 01:12 am
|
Buenas. Tengo un código que me reordena un vector de una determinada manera, en la mitad izquierda, estarán los numeros menores o iguales que x, y por la derecha, los que son mayores que x. Por ejemplo: v = {1, 10, 23, 15, 13, 8}; x = 8; Reordenado (una posibilidad) seria v = {3, 1, 8, 10, 23, 15}; Sé hacerlo si digo que la funcion retorne un array, pero no sé hacerlo sin que retorne nada. public int[] reorganize2(int[] v, int x, int left, int right){ //left = 0, right = v.length if(left==right) return reorganize2(v,x,left,right-1); else{ int m = (left+right)/2; if(v[m] <= x){ swap(v,m,left); return reorganize2(v,x,left+1,right); }else{ swap(v,m,right-1); return reorganize2(v,x,left,right-1); } } } public void swap(int[] v, int i, int j){ int tmp = v[i]; v[i] = v[j]; v[j] = tmp; }
He probado a hacer ésto: public void reorganize2(int[] v, int x, int left, int right){ //left = 0, right = v.length if(left==right) reorganize2(v,x,left,right-1); else{ int m = (left+right)/2; if(v[m] <= x){ swap(v,m,left); reorganize2(v,x,left+1,right); }else{ swap(v,m,right-1); reorganize2(v,x,left,right-1); } } } public void swap(int[] v, int i, int j){ int tmp = v[i]; v[i] = v[j]; v[j] = tmp; }
Pero no funciona. No he hecho muchos ejercicios de recursividad con funciones void (he hecho solo uno, pero apenas lo entiendo), asi que agradecería que me alguien me lo explicase mas o menos
|
|
|
12
|
Seguridad Informática / Wireless en Windows / Realtek Wireless LAN Utility, mostrar la contraseña?
|
en: 17 Marzo 2011, 18:24 pm
|
Hola, me gustaría saber de qué manera puedo conocer la contraseña de un perfil (red wireless). El caso es que introduje la contraseña la 1a vez (se guarda en el perfil), y también me la apunté en un papel, pero resulta que la apunté mal, asi que ahora quiero saber qué contraseña introduje exactamente la 1a vez, ya que la necesito. El Realtek Wireless LAN Utility no me la muestra (la contraseña está codificada con asteriscos), no debería de estar en algún registro de Windows?
S2.
PD: Tengo la alfa 1w.
-------------
Edit: la encontré -> Ejecutar: regedit -> busco RTWLAN, profile y ahí está la contraseña.
Sry por abrir un nuevo hilo (he visto que hay otra persona que pregunta lo mismo). Podéis borrarlo.
|
|
|
13
|
Programación / Programación C/C++ / Re: La serie mas larga?
|
en: 15 Febrero 2011, 23:14 pm
|
Es que no quería "sobrecargar" el codigo y centrarme en lo importante, pero tienes razón, ahora que me leo no se entiende muy bien sin el resto. Aquí esta todo: #include <stdio.h> #define M 100 void leer_e(int t[], int &n, int &e); bool u_s_o_d(int &n); void tratar_t(int t1[], int &n1, int t2[], int &n2); void resultado(int t[], int &n); int main(){ int t1[M], t2[M]; //t1 = serie actual, t2 = serie mas larga int n1, n2=0; //longitud de las series (n1 se inicializa dentro de la accion leer_e) int x; //lector printf("Intro. serie de enters acabada en 0:\n"); scanf("%d", &x ); //inicializacion del primer entero leer_e(t1, n1, x); //inicializacion de la 1a serie while(!u_s_o_d(n1)){ //ultima serie ordenada decrec. tratar_t(t1, n1, t2, n2); leer_e(t1, n1, x); } resultado(t2, n2); return 0; } void leer_e(int t[], int &n, int &e){ int i=0; n=0; while(t[i]<=e || e!=0){ t[i]=e; i++; } n=i; //longitud de t1 printf("%d", n ); //para comprobar que valor tiene n } bool u_s_o_d(int &n){ return(n==0); } void tratar_t(int t1[], int &n1, int t2[], int &n2){ int i, j; if(n1>n2){ j=0; for(i=0; i<=n1; i++){ t1[i]=t2[j]; j++; } n2=j; } //else no hacer nada, la serie mas larga es la ultima t2 } void resultado(int t[], int &n){ int i; printf("\nSerie mes larga: %d\n", n ); for(i =0; i <n ; i ++) printf("%d ", t [i ]); }
Ejecutadlo para que veáis vosotros mismos cual es el resultado. Un saludo. Edit:Rectifico, en la funcion u_s_o_d, el parametro no es el lector x, sino n1.
|
|
|
14
|
Programación / Programación C/C++ / La serie mas larga?
|
en: 15 Febrero 2011, 19:13 pm
|
Hola. A ver si me podéis ayudar con éste código que no acabo de entender. Entrada: Secuencia de enteros acabada en 0. Salida: La serie de enteros ordenada decrecientemente más larga. Ejemplo: 10 4 2 4 3 1 1 0 La serie mas larga seria 4 3 1 1 Ésta es la funcion main (dada por mi profesora): int main(){ int t1[M], t2[M]; //t1 = serie actual, t2 = serie mas larga int n1, n2=0; //longitud de las series (n1 se inicializa dentro de la accion leer_e) int x; //lector printf("Intro. serie de enters acabada en 0:\n"); scanf("%d", &x ); //inicializacion del primer entero leer_e(t1, n1, x); //inicializacion de la 1a serie while(!u_s_o_d(x)){ //ultima serie ordenada decrec. tratar_t(t1, n1, t2, n2); leer_e(t1, n1, x); } resultado(t2, n2); return 0; }
Las acciones leer_e, u_s_o_d, y resultado, ya las tengo (si hace falta, os las muestro). El problema creo que reside en el "núcleo" del programa, que es la acción tratar_t. Mi version es tal que así: void tratar_t(int t1[], int &n1, int t2[], int &n2){ int i, j; if(n1>n2){ j=0; for(i=0; i<=n1; i++){ t1[i]=t2[j]; j++; } n2=j; } //else no hacer nada, la serie mas larga es la ultima t2 }
Os explico. Se trata de ir comprobando cual es la serie mas larga, copiandola en t2, hatsa que se llegue al final de la secuenia. n1 representa la longitud de la serie ordenada decr. y se compara con n2 (la última serie ordenada decr. mas larga). Si resulta que n1 es mas grande que n2, entonces se ha de copiar la serie(actual) t1 con longitud n1 en t2. Entonces mi pregunta es, se copia bien t1 en t2? Si creéis que el algoritmo esta bien, os mostraré el resto del programa para encontrar el problema, pues el resultado me sale siempre 0.
|
|
|
15
|
Seguridad Informática / Wireless en Linux / No inyecta (RTL8187) - Caso particular
|
en: 5 Octubre 2010, 20:56 pm
|
Quería saber qué es lo que significa cuando no se puede inyectar a una red (WLAN_) con más de 80% de cobertura. Su cifrado es tipo WEP y los pasos que sigo son: airmon-ng start wlan0
airodump-ng wlan0
airodump-ng -c "n" --bssid "mac" -w hola wlan0
aireplay-ng -1 30 -o 1 -e "WLAN_" -a "mac" -h "mi mac" wlan0 //asociacion correcta
aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b "mac" -h "mi mac" wlan0 //envía paquetes (340) pero la velocidad de data por segundo (#/s) es 0.
|
|
|
17
|
Seguridad Informática / Materiales y equipos / Re: Alfa 1W y su cable USB que no funciona
|
en: 26 Junio 2010, 18:49 pm
|
has intentado cambiar de puerto usb. bueno si ya lo has hecho y da lo mismo entonces podria ser que te toco con falla el adaptador (seguro esta desoldado la entrada 5pines) cosa que seria mejor asegurarte en cambiarlo, antes de hacer otra cosa.
Pues es lógico lo que dices, a ver lo que me dicen los de pccomponentes. Gracias
|
|
|
18
|
Seguridad Informática / Materiales y equipos / Re: Alfa 1W y su cable USB que no funciona
|
en: 26 Junio 2010, 17:45 pm
|
hola de seguro es el cable entonces, trata de probar con otro cable, aunque no es dificil conseguir pq es cable de 5 pines. seria mejor si le compras uno en "Y" asi tendras mas estabilidad, o con un cable de esos que funcionan con discos duros externos, yo lo hice y me fue bien. anque ese usb no era mio....
Acabo de probar con orto cable (el de mi mp3) y lo mismo, no se soluciona. Quizás debería de probar con un cable que tú comentas, de doble alimentación, pero no sé si lo encontraré en mi ciudad... Pero sigo sin entenderlo, si con un cable normal puede dar problemas, porque el aparato viene con ese cable? s2.
|
|
|
19
|
Seguridad Informática / Materiales y equipos / Alfa 1W y su cable USB que no funciona
|
en: 26 Junio 2010, 15:53 pm
|
Hace poco adquirí una alfa 1w - 5dbi y el caso es que no me funciona bien, se me desconecta y conecta contínuamente (el adaptador). No es de mi SO(lo he probado en ubuntu y wifislax) ni de los drivers (he probado nuevos y viejos). Se trata del cable, que no sé que le pasa. Para que me funcione tengo que mover y buscar el sitio adecuado del cable hasta que éste conecte de verdad. Si reinicio el pc o toco el cable, se desconecta. Asi pues, qué me recomiendan hacer? Qué cable (de calidad) necesito? Saludos. PD: El adaptador lo he comprado en pccomponentes, he contactado con ellos pero aun no me han contestado, cuando lo hagan, os lo haré saber
|
|
|
|
|
|
|