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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  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.

Código
  1.    public int[] reorganize2(int[] v, int x, int left, int right){ //left = 0, right = v.length
  2.        if(left==right)
  3.            return reorganize2(v,x,left,right-1);
  4.        else{
  5.            int m = (left+right)/2;
  6.            if(v[m] <= x){
  7.                swap(v,m,left);
  8.                return reorganize2(v,x,left+1,right);
  9.            }else{
  10.                swap(v,m,right-1);
  11.                return reorganize2(v,x,left,right-1);
  12.            }
  13.        }
  14.    }
  15.  
  16.    public void swap(int[] v, int i, int j){
  17.        int tmp = v[i];
  18.        v[i] = v[j];
  19.        v[j] = tmp;
  20.    }

He probado a hacer ésto:
Código
  1.    public void reorganize2(int[] v, int x, int left, int right){ //left = 0, right = v.length
  2.        if(left==right)
  3.            reorganize2(v,x,left,right-1);
  4.        else{
  5.            int m = (left+right)/2;
  6.            if(v[m] <= x){
  7.                swap(v,m,left);
  8.                reorganize2(v,x,left+1,right);
  9.            }else{
  10.                swap(v,m,right-1);
  11.                reorganize2(v,x,left,right-1);
  12.            }
  13.        }
  14.    }
  15.  
  16.    public void swap(int[] v, int i, int j){
  17.        int tmp = v[i];
  18.        v[i] = v[j];
  19.        v[j] = tmp;
  20.    }
  21.  
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:

Código
  1. #include <stdio.h>
  2. #define M 100
  3. void leer_e(int t[], int &n, int &e);
  4. bool u_s_o_d(int &n);
  5. void tratar_t(int t1[], int &n1, int t2[], int &n2);
  6. void resultado(int t[], int &n);
  7.  
  8. int main(){
  9.  
  10.    int t1[M], t2[M];  //t1 = serie actual, t2 = serie mas larga
  11.    int n1, n2=0;     //longitud de las series (n1 se inicializa dentro de la accion leer_e)
  12.    int x;            //lector
  13.  
  14.    printf("Intro. serie de enters acabada en 0:\n");
  15.    scanf("%d", &x);     //inicializacion del primer entero
  16.    leer_e(t1, n1, x);   //inicializacion de la 1a serie
  17.    while(!u_s_o_d(n1)){  //ultima serie ordenada decrec.  
  18.                        tratar_t(t1, n1, t2, n2);
  19.                        leer_e(t1, n1, x);
  20.                        }
  21.    resultado(t2, n2);    
  22.  
  23.    return 0;
  24. }
  25.  
  26. void leer_e(int t[], int &n, int &e){
  27.  
  28.     int i=0;
  29.     n=0;
  30.     while(t[i]<=e || e!=0){
  31.                    t[i]=e;
  32.                    scanf("%d", &e);
  33.                    i++;
  34.     }
  35.     n=i;      //longitud de t1
  36.     printf("%d", n); //para comprobar que valor tiene n
  37. }
  38.  
  39. bool u_s_o_d(int &n){
  40.  
  41.     return(n==0);    
  42. }
  43.  
  44.  
  45. void tratar_t(int t1[], int &n1, int t2[], int &n2){
  46.  
  47.     int i, j;    
  48.  
  49.     if(n1>n2){
  50.               j=0;              
  51.               for(i=0; i<=n1; i++){
  52.                              t1[i]=t2[j];
  53.                              j++;
  54.                              }
  55.               n2=j;              
  56.     }
  57.     //else no hacer nada, la serie mas larga es la ultima t2
  58.  
  59. }
  60.  
  61. void resultado(int t[], int &n){
  62.  
  63.     int i;
  64.  
  65.     printf("\nSerie mes larga: %d\n", n);
  66.     for(i=0; i<n; i++) printf("%d ", t[i]);
  67.     putchar('\n');
  68. }  
  69.  
  70.  

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):

Código
  1. int main(){
  2.  
  3.    int t1[M], t2[M];  //t1 = serie actual, t2 = serie mas larga
  4.    int n1, n2=0;     //longitud de las series (n1 se inicializa dentro de la accion leer_e)
  5.    int x;            //lector
  6.  
  7.    printf("Intro. serie de enters acabada en 0:\n");
  8.    scanf("%d", &x);     //inicializacion del primer entero
  9.    leer_e(t1, n1, x);   //inicializacion de la 1a serie
  10.    while(!u_s_o_d(x)){  //ultima serie ordenada decrec.  
  11.                        tratar_t(t1, n1, t2, n2);
  12.                        leer_e(t1, n1, x);
  13.                        }
  14.    resultado(t2, n2);    
  15.  
  16.    return 0;
  17. }

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í:
Código
  1. void tratar_t(int t1[], int &n1, int t2[], int &n2){
  2.  
  3.     int i, j;    
  4.  
  5.     if(n1>n2){
  6.               j=0;              
  7.               for(i=0; i<=n1; i++){
  8.                              t1[i]=t2[j];
  9.                              j++;
  10.                              }
  11.               n2=j;              
  12.     }
  13.     //else no hacer nada, la serie mas larga es la ultima t2
  14.  
  15. }

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:

Código:
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.


16  Seguridad Informática / Materiales y equipos / Re: Alfa 1W y su cable USB que no funciona en: 28 Junio 2010, 09:04 am
Al parecer soy un caso excepcional xD, me dicen que el producto se vende mucho y que hasta ahora no han tenido problemas como el mio.

Pero antes de usar la garantía (que me cuesta 24€ mínimo - 54€máx.), no se os ocurren otras posibilidades? :(
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? :huh:

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 ;)
 
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines