Академический Документы
Профессиональный Документы
Культура Документы
PROBLEMA 1: la siguiente lista ligada representa una lista de enteros que no están ordenados, pudiendo existir
elementos repetidos.
Los nodos de la lista son idénticos y están definidos por la siguiente declaración de tipos:
Tlista lista;
La función Separa extrae de la lista de números (parámetro lista del prototipo) todos los números que sean mayores que
el número que se pasa como parámetro a través del parámetro numero. El parámetro resultado es una lista generada por
la función compuesta por los números que se han extraído del parámetro lista. Por ejemplo, para la lista mostrada en la
figura anterior, el resultado de la función Separa (con el parámetro numero = 13 ) sería el de la siguiente figura:
resultado
En la figura se observa que la función ha extraído de la variable lista los nodos cuyo contenido es mayor que 13 y los ha
dejado (en el mismo orden en que han sido encontradas en lista) en resultado.
Se pide: Codificar en C la función Separa.
Página 1 de 15
PROBLEMA 2: Una clínica médica desea mantener una aplicación informática que le permita conocer en todo
momento los médicos que trabajan en la clínica y la información de los pacientes que tiene cada médico. Para
hacerlo una empresa que desarrolla aplicaciones ha diseñado una en la que la estructura de datos que almacena la
información es la siguiente:
Se Pide: Codificar en C la función AltaPaciente que dado el código de colegiado (char codColegiado[10]) de un
médico, los datos de un paciente (TPaciente) y la lista con toda la información de la clínica (como la indicada en al
figura anterior), añada los datos de ese nuevo paciente a la lista de pacientes del médico mencionado anteriormente. La
lista con los pacientes de cada médico no tiene porque estar ordenada por ningún campo. El prototipo de la función a
codificar sería:
void AltaPaciente(TNodoMedico *clicnica, Tpaciente nuevoPaciente, char
codColMedico[]);
Página 2 de 15
PROBLEMA 3: Dada la siguiente definición de un tipo de datos en C:
Se pide:
Codificar una función en C que teniendo el siguiente prototipo:
reciba como parámetros dos listas del tipo definido y devuelva como resultado una nueva lista que esté formada por los
elementos de las dos listas de entrada concatenados, es decir, los elementos de la Lista1 delante de los elementos de la
Lista2. Las listas de entrada no deberán ser modificadas dentro de la función.
Por ejemplo, si se pasan como parámetros dos listas como las mostradas en la siguiente figura:
1 3 2 27
6 8 54
1 3 2 27 6 8 54
Para la realización de esta función se supone ya codificada en la aplicación una función cuyo prototipo es:
Página 3 de 15
PROBLEMA 4: Una federación deportiva desea mantener una aplicación informática que le permita conocer en todo
momento cuántos equipos están jugando una competición, cuántos jugadores forman parte de dichos equipos, contra
qué equipos han jugado y el resultado obtenido. Para hacerlo una empresa que desarrolla aplicaciones ha diseñado una
en la que la estructura de datos que almacena la información es la siguiente:
liga
NULL
jugadores
resultados
pepe Contrario 1
NULL
NULL
La aplicación se ha diseñado sin saber previamente cuantos equipos y jugadores formarán parte de una liga.
Se pide: Codificar una función que, pasándole como parámetro un puntero a una variable de tipo TEquipo, es decir una
liga completa formada por equipos, jugadores pertenecientes a esos equipos y resultados que se han producido, elimine
toda la información de las diferentes listas, devolviéndola vacía.
Página 4 de 15