Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - TheShocker

#1
Cita de: MAFUS en 30 Diciembre 2015, 20:57 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
Cita de: nisteeklod en 30 Diciembre 2015, 19:24 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
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
Hacking / Re: SETOOLKIT logs vacios
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
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
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
Cita de: ivancea96 en 17 Junio 2015, 23:50 PM
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 C/C++ / (RESUELTO)
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:



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:


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

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:
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
Perfecto, todo claro. Muchas gracias.  ;-)