Autor
|
Tema: [AYUDA] Listas anidadas? (Leído 4,999 veces)
|
carlosabcs18
Desconectado
Mensajes: 8
|
Hola, me dejaron que haga el siguiente ejercicio usando listas: Se tiene una lista de n enfermos (código, nombres, apellidos, dirección, teléfono, genero [M,F],edad), además c/u tiene una o mas enfermedades (código, nombre, tipodeenfermedad[Contagiosa, Maligna, Benigna, Mortal]) y se quiere crear un programa que permita: a. Crear un nuevo paciente y sus enfermedades b. Eliminar paciente (en una cierta posición), y sus enfermedades (si un paciente tiene asignado una enfermedad esté ya no se puede borrar) c. Actualizar pacientes y enfermedades d. Mostrar listado (pacientes por enfermedades) e. Copiar datos de enfermedades de un paciente a otro
El programa se puede codificar usando cualquier tipo de lista(simple,doble,circular).
Ahora, mi problema es el hecho de que tengo una lista "M" de enfermos con "N" cantidad de enfermedades o sea estructuras anidadas, que en este caso seria una lista anidada, pero como se trabajan las listas anidadas? Analizando un poco el ejercicio, pensé que necesito 2 punteros para cada nodo(enfermo): uno que apunte al nodo siguiente y uno que apunte a la lista de enfermedades, estoy yendo por buen camino o algo anda mal con mi idea? Pls help mee!! :C
|
|
|
En línea
|
|
|
|
Flakito81
Desconectado
Mensajes: 519
|
No creo que nadie te haga el ejercicio, de todas maneras vas bien. Una lista para enfermos y dentro de ese 'nodo/ficha' (o como lo quieras llamar) tienes otro puntero con las enfermedades. El movimiento de punteros es el mismo, lo unico que cambia es la informacion que contiene.
|
|
|
En línea
|
|
|
|
carlosabcs18
Desconectado
Mensajes: 8
|
Hola, no quiero que me hagan el ejercicio, es muy tedioso como para hacerlo para otra persona, solo lo puse como referencia. Una duda, todo bien con el puntero dentro de enfermo que apunta a lista de enfermedades pero como hago para registrar las enfermedades de cada enfermo y luego reportarlas?
|
|
|
En línea
|
|
|
|
Flakito81
Desconectado
Mensajes: 519
|
Pues igual que anades enfermos Imagina algo tal que: struct T_enfermedad { char nombre[32] struct T_enfermedad *sig; } struct T_enfermo { char nombre[32]; int edad; //-- resto de campos struct T_enfermedad *enfermedades; struct T_enfermo *sig; } int Nuevo_Enfermo( T_enfermo *Lista) { struct T_enfermo *p; p = (struct T_enfermo *) malloc (sizeof(struct T_enfermo )); if (!p) return -1; // no se pudo reservar memoria p->enfermedades = NULL; //no tiene enfermedades p->sig = NULL; // lees la informacion del paciente y la guardas en p //-- ¿quieres añadir alguna enfermedad ? Si la respuesta es sí Nueva_Enfermedad(p->enfermedades); //--- // añadir por el principio de la lista if (Lista != NULL) p->sig = Lista; Lista = p; } int Nueva_enfermedad(T_enfermedad *lista) { struct T_enfermedad *p; p = (struct T_enfermedad *) malloc (sizeof(struct T_enfermedad )); p->sig =NULL; //-- pedir informacion y ponerla en p if (lista != NULL) p->sig = lista; lista = p; } int main() { struct T_enfermo *Lista = NULL; // -- tu codigo // -- opciones switch { case 1: Nuevo_Enfermo(Lista); break; }; }
obviamente es un codigo de referencia, va a contener algun error. Si quieres añadile mas enfermedades lo unico que tienes que hacer es localizar al enfermo recorriendo la lista y luego le pasas el puntero 'enfermedades'. Un saludo! PD:Cambia el nombre de las funciones porque esta noche no estoy muy original
|
|
« Última modificación: 5 Noviembre 2014, 03:18 am por Flakito81 »
|
En línea
|
|
|
|
carlosabcs18
Desconectado
Mensajes: 8
|
Graaaaaaaacias bro, creo que voy captando la idea
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
listas desplegables anidadas
PHP
|
m0m0
|
4
|
6,359
|
19 Mayo 2009, 15:18 pm
por cassiani
|
|
|
Ayuda Acerca De Listas y Listas Circulares (Revienta Memoria :S)
Programación C/C++
|
Gerik
|
0
|
6,042
|
12 Septiembre 2010, 01:49 am
por Gerik
|
|
|
Ayuda con borrado en estructuras anidadas
Programación C/C++
|
JHodges
|
8
|
3,724
|
11 Junio 2015, 04:24 am
por rir3760
|
|
|
[Ayuda] Estructuras anidadas, registro. Lenguaje C
« 1 2 »
Programación C/C++
|
neron991
|
11
|
10,208
|
9 Julio 2015, 10:07 am
por mester
|
|
|
[Consulta] Índice en listas anidadas (Python)
Scripting
|
evanescense
|
4
|
8,499
|
25 Junio 2016, 03:59 am
por peter_lyon
|
|