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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Re: Duda sobre listas enlazadas (C) en: 30 Diciembre 2015, 21:44 pm
Muy buenas.

nisteeklod, te has olvidado de liberar la memoria del nodo con free(). Cada vez que haces pop() el area de memoria apuntada por rem queda huerfana.

Cierto. Haciendo un free funciona perfectamente hasta que ya no hay elementos que sacar, que entonces se produce un error.
2  Programación / Programación C/C++ / Re: Duda sobre listas enlazadas (C) en: 30 Diciembre 2015, 20:18 pm
Mira este código es mio, lo que hago es insertar adelante me parece que si lo razonas un poco podés contestarte solo la pregunta.
Si se puede insertar desde el final, pensá lo que tendrías que hacer con la cabeza de la lista y demás.

Muchas gracias, me ha servido de gran ayuda.
3  Programación / Programación C/C++ / Duda sobre listas enlazadas (C) en: 30 Diciembre 2015, 18:39 pm
Mi intención es crear una pila con listas enlazadas simples

El caso es que a la hora de insertar y eliminar en la última posición hay que recorrer siempre la lista enlazada. Mi pregunta es ¿Hay algún método que permita insertar/eliminar directamente desde el final?

Saludos
4  Seguridad Informática / Hacking / Re: SETOOLKIT logs vacios en: 4 Octubre 2015, 13:53 pm
¿Usas máquina virtual? Yo tuve el mismo problema con Kali Linux 2.0, asegurate de que la máquina virtual esté configurada bien (Por ejemplo: Que si has puesto que sea de 64 bits, que la imagen iso sea la de 64 bits)
5  Sistemas Operativos / GNU/Linux / Re: problema virtual box condiciones kali linux en: 12 Septiembre 2015, 14:03 pm
Yo tengo el mismo problema, buscando por ahí he visto que para que te detecte redes en VirtualBox es necesario tener un adaptador WiFi usb o algo por el estilo.

Aprovecho para preguntar (ya que soy nuevo en esto) ¿valdría cualquier adaptador wifi-usb o tiene que ser alguno especifico?
6  Programación / Programación C/C++ / Recorrer un fichero y meterlo en un vector/Matriz/etc en: 21 Junio 2015, 16:34 pm
Buenas, como ya he comentado anteriormente estoy aprendiendo el uso de listas enlazadas, ficheros, etc.

Sé más o menos el funcionamiento básico de ficheros de textos y ficheros binarios pero no sé como se hace para leer un fichero y meter el contenido del fichero en un vector, matriz o lista enlazada.

Así que si alguien sabe y puede ayudar se lo agradecería.
7  Programación / Programación C/C++ / Re: Meter registros a una lista enlazada en: 18 Junio 2015, 00:00 am
Dices que da error. ¿Qué error da?

Se cierra el programa al ejecutarlo. El error está en la parte de mostrar la lista. Sin eso, el programa funciona bien.
8  Programación / Programación C/C++ / (RESUELTO) en: 17 Junio 2015, 20:52 pm
Estoy haciendo una función, donde te pasan unos registros y tienes que meterlos dentro de una Lista Enlazada. El codigo es el siguiente:

Código:

typedef struct empleados {
    char apellidos[30];
    char nombre[15];
    int  mes;
    //char bufferRelleno[50000];
} tipoEmpleado;

ListaEnlazada RegistrosListaEnlazada(tipoEmpleado * empleados, int numEmpleados, int mesInf, int mesSup)
{
              int i, temp;
              tipoNodoRef indice, nuevo, aBorrar;
              ListaEnlazada lst = NULL;
                
                for(i=0;i<numEmpleados;i++){
                                         if(empleados[i].mes > mesInf && empleados[i].mes < mesSup){
                                                              
                                                               if((nuevo = (tipoNodoRef) malloc(sizeof(tipoNodo))) == NULL){
                                                                               indice = lst;
                                                                               while (indice != NULL){
                                                                                  aBorrar = indice;
                                                                                  indice = indice->sig;
                                                                                  free(aBorrar);
                                                                                  }
                                                                                  lst = NULL;
                                                                                  } else {
                                                              
                                                              
                                                               nuevo->info = empleados[i];
                                                               nuevo->sig = NULL;

                                                               indice = lst;
                                                               if(indice == NULL)
                                                                         lst = nuevo;
                                                                         else{
                                                                              while(indice->sig != NULL)
                                                                                                indice = indice->sig;
                                                                                 indice->sig = nuevo;
                                                                                 }
                                                                                 }    
                                                                                 }        
                                                                            
                                      
                                      
                                       }
                                      
                                    return lst;  
                                       }


No da ningún error aparentemente, pero a la hora de imprimir los miembros de la lista enlazada tengo problemas. Hago lo siguiente, pero da error:

Código:
i=0;
indice = lst;
while(indice->sig != NULL){
                  i++;
                 printf("\nNODO <%d>\n",i);
                 printf("%c",(indice->info).apellidos);
                 printf("%c",(indice->info).nombre);
                 printf("%d",(indice->info).mes);
                
                 indice = indice->sig;

¿Alguien sabría como solucionarlo?
9  Programación / Programación C/C++ / Funciones y Proyectos en C en: 15 Marzo 2015, 17:59 pm
Buenas a todos, estoy haciendo un proyecto divido en varios archivos. Uno con las funciones, el .h, y el main.

El caso, es que el programa tiene hacer la suma de dos vectores y el producto escalar pero al compilarlo y ejecutarlo me salen erroneos los resultados.

No sé si fallo en las funciones o en la forma de invocarlo. Si alguien puede ayudarme se lo agradecería.



Parte de las funciones:

Código:
float suma_vectores(float *v1, float *v2, int dim){
     
      int i;
      float vsuma[DIMMAX];
        for (i=0; i < dim; i++)
            vsuma[i] += v1[i] + v2[i];   
           
            return vsuma[i];
           
     
}

     
float producto_vectores(float *v1, float *v2, int dim){
        float prod_escalar = 0;
        int i;
        for (i=0; i < dim; i++)
            prod_escalar += v1[i] * v2[i];
           
            return prod_escalar;
           
            }


Parte de la invocación:
Código:
 modulov1 = modulo_vector(vector1, diml);
     modulov2 = modulo_vector(vector2, diml);
     
     
     vsuma[DIMMAX] = suma_vectores(vector1, vector2,diml);
     
     prod_escalar = producto_vectores(vector1, vector2, diml);
 
    /* Resultados
       ---------------------------------------
    */
       puts("\nVectores introducidos:");
       
       puts("\nPrimer vector: ");
       escribir_vector(vector1,diml);

       puts("\n\nSegundo vector: ");
       escribir_vector(vector2,diml);
       
       printf("\n");
       
       
       printf("Módulo del primer  vector: %f\n", modulov1);
       printf("Módulo del segundo vector: %f\n", modulov2);

       puts("\nVector suma:");
       escribir_vector(vsuma,diml);
       

       puts("\nProducto escalar:");
       printf("V1 x V2 = %f\n", prod_escalar);

       printf("\n\n");
10  Programación / Programación C/C++ / Re: Maximo y minimo de un vector (Funciones) en: 27 Diciembre 2014, 20:48 pm
Perfecto, todo claro. Muchas gracias.  ;-)
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines