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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9
51  Programación / Programación C/C++ / Re: ¿Errores en los enunciados de un examen de C? en: 15 Enero 2011, 14:01 pm
No se si esto:
Código:
struct Componente {
 int dato;
 struct Componente  *sig
}
typedef Componente *Puntero;

es igual a esto:
Código:
struct Componente {
        int dato;
        struct Componente *next;
       };
typedef struct Componente Puntero;

Ya que en el primer caso declara un puntero a una estructura del tipo Componente y en el segundo creo un nuevo tipo de variable a una estructura de tipo componente. ¿Es lo mismo? y en el primer caso obtengo un puntero a dicha estructura y en el segundo una variable en si que puede ser accesible por un puntero.

El segundo fallo que veo es que a pesar de crear una plantilla de estructura de la siguiente forma
Código:
struct Cola { Puntero principio, final; }
no crea una variable de esa plantilla, de hecho el compilador no me compilaba por eso.
De todas formas al usar ese código aún declarando la variable de estructura, tengo problemas para trabajar con los punteros principio y final.
Un saludo, espero que podáis ayudarme.

52  Programación / Programación C/C++ / ¿Errores en los enunciados de un examen de C? en: 13 Enero 2011, 14:27 pm
Saludos, mire tengo el siguiente problema, el caso es que un profesor me ha puesto el siguiente ejercicio en un examen, no quiero que me lo resolváis ni nada por el estilo, lo único que necesito que me digáis si este profesor esta cometiendo algunas locuras en los ejercicios.

Veréis se como implementar una cola en C lo he echo otras veces y me funciona perfectamente, pero el caso es que en el examen de este hombre me he encontrado con lo siguiente y esta poniendo en duda mis conocimientos sobre C:

Dada la siguiente declaración:
Código:
struct Componente {
 int dato;
 struct Componetne  *sig
}
typedef Componente *Puntero;
struct Cola { Puntero principio, final; }

El dice que eso es la implementación de una cola , yo la verdad veo algunos errores en ese codigo para que eso sea dicha implementación pero bueno vosotros me diréis.
Luego sobre esa estructura de datos que el denomina cola, quieres que hagamos una serie de operaciones sobre la cola:
Citar
Inicializar la cola.
Primero: Devuelve el elemento que ocupe la primera posición.
Encolar: Introduce un nuevo elemento en la cola.
SacarCola: Elimina el elemento en la cabeza de la cola. (Aquí veo otro error si hablamos de colas solo puedo sacar de ella el ultimo elemento, otra cosa es que sean Bicolas, pero el eso no lo ha explicado)
Vacia: Averigua si la cola no tiene nada en su interior.

Un saludo, espero que podáis ayudarme.

53  Programación / Programación C/C++ / Re: Problemas con punteros en listas. en: 10 Enero 2011, 00:09 am
Muchísimas gracias creo que ya entendí todo : )
54  Programación / Programación C/C++ / Re: Problemas con punteros en listas. en: 7 Enero 2011, 16:13 pm
Muchas gracias por contestar, y disculpa la tardanza estos día con las fiestas en la familia no he podido conectarme mucho, con desreferenciar quieres decir quitar el puntero a puntero, para acceder a el, no?
Si es así creo que lo he entendido todo, lo que no entiendo muy bien es el concepto de desreferenciar.
Un saludo y gracias de nuevo :)
55  Programación / Programación C/C++ / Re: Problemas con punteros en listas. en: 4 Enero 2011, 13:23 pm
Muchas gracias :)
Discúlpame ¿Podrías decirme o explicarme por que uso el paréntesis? es que no conocía esa nomenclatura al usar punteros.
Un saludo y Feliz Año Nuevo. :)
56  Programación / Programación C/C++ / Problemas con punteros en listas. en: 4 Enero 2011, 03:00 am
Saludos.

Tengo la siguiente duda:
Tengo el siguiente codigo fuente de una lista circular:

Código:

#include <stdio.h>
#include <stdlib.h>

typedef struct listacompleta {
         int dato;
         struct listacompleta *next;
        }lista;


void add_nod(lista **nodoe, int dato){
 lista *nuevo,*aux;
 nuevo = (lista *) malloc (sizeof(lista));
 nuevo->dato = dato;
 aux = *nodoe;
 if(*nodoe == NULL ){
             nuevo->next = nuevo;
             *nodoe = nuevo;
            } else{
              /* *nodoe = *nodoe->next; */
               nuevo->next = aux->next;
               aux->next = nuevo;
              }
}



int main(){
 lista *nodoe;
 nodoe = NULL;
 
 add_nod(&nodoe,8);
 add_nod(&nodoe,2);
 add_nod(&nodoe,3);
 add_nod(&nodoe,5);

 system("pause");
 return 0;

}


El caso es que dentro de add_nod la linea que esta comentada no me compila, pero me gustaría avanzar en uno el elemento nodoe para agregar elementos a partir del ultimo insertado en la lista circular, como puedo hacer eso y por que me da error al compilar, me he mirado el error y creo que es porque es un puntero de puntero, pero no se como solucionarlo.

Un saludo y gracias a todos.
57  Programación / Programación C/C++ / ¿Lista circular en C bien implementada? en: 2 Enero 2011, 02:31 am
Saludos y un Feliz Año Nuevo a todos  :)
Comiendo preguntando mi primera duda del año jeje

Me gustaría saber si he implementando bien las listas circulares en C.
El código para añadir elementos a la lista es el siguiente:

Código:
void add_nod(lista **nodoe, int dato){
 lista *nuevo,*aux;
 nuevo = (lista *) malloc (sizeof(lista));
 nuevo->dato = dato;
 aux = *nodoe;
 
 if(*nodoe == NULL ){
             nuevo->next = nuevo;
             *nodoe = nuevo;
            } else{
               nuevo->next = aux->next;
               aux->next = nuevo;
              }
}

Un saludo.
58  Programación / Programación C/C++ / Re: ¿Función bien implementada para borrar elementos en listas? en: 31 Diciembre 2010, 00:36 am
Muchas gracias por la respuesta, siento mucho no haber contestado antes, pero con el rollo de las navidades me ha sido difícil conectarme.
Un saludo y Feliz Navidad ^^
59  Programación / Programación C/C++ / Re: ¿Función bien implementada para borrar elementos en listas? en: 23 Diciembre 2010, 14:43 pm
Muchisimas gracias por la respuesta, pudes decirme donde puedo encontrar información de como implementar correctamente listas con TDA y estructuras, es que no he encontrado mucho por internet, algunas funcionas que me he visto ni compilaban y otras no funcionaban correctamente.
Un saludo y felices fiestas  :)
60  Programación / Programación C/C++ / ¿Función bien implementada para borrar elementos en listas? en: 22 Diciembre 2010, 01:49 am
Hola ^^
Saludos a todos.
Estoy liado con las listas en C y he creado la siguiente función, me gustaría saber si esta bien implementada para no tener luego problema con los punteros.

Código:
int del_list(lista **primero,int a){
      lista *aux,*ant;
      if(a == 0){printf("El elemento no existe\n"); return 0;}
      /* if a es mayor que los elementos que contiene la lista, el elemento no existe */
      if(a == 1){
           ant = *primero;
           *primero = ant->next;
           free(ant);
      } else{
            a = a - 2;
            ant = *primero;
            while(a >0 && aux != NULL){
              ant = ant->next;
              a--;
             }
            aux = ant->next;
            ant->next = ant->next->next;
            free(aux);
           }
     }

Lo ultimo que me faltaría por hacer es que si introduzco un elemento mayor que el numero de elementos que contiene la lista me diga elemento invalido, pero por lo demás me gustaría saber si esta bien implementada.
Un saludo.
Páginas: 1 2 3 4 5 [6] 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines