UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA 3er. Examen Parcial. 27 de enero del 2003. Grupo: Nombre: . Conteste cuidadosamente el siguiente cuestionario, recuerde que sus respuestas deben ser exactas debido a que no existen medios puntos. No esta permitido hablar con sus compañeros por ningún motivo, si necesita algo consúltelo con el profesor. Dispone de 1 hora y 45 minutos para resolver el examen. 1.- Hacer una función con el siguiente prototipo void reversa(char *cad1, char *cad2);, dicha función recibe una cadena(cad1) y guarda el resultado en una cadena secundaria(cad2). Por ejemplo: si cad1 = “Hola mundo” entonces cad2 = “odnum aloH”. 2.- Escriba el código necesario para reservar memoria de manera dinámica para una matriz de números flotantes. 3.- Considere el siguiente código en C: void hanoi(int n, char Origen, char Destino, char Aux){ if (n==1){ printf("%c->%c\t",Origen,Destino); return; } hanoi(n-1, Origen, Aux, Destino); hanoi(1,Origen, Destino, Aux); hanoi(n-1,Aux,Destino, Origen); } Diga cual es el resultado de la siguiente llamada hanoi(3, ‘A’, ‘C’, ‘B’); Las siguientes declaraciones será usado en las preguntas 4, 5, 6, 7, 9 y 10 typedef struct { char titulo[30]; int num_disponibles; char colocación[11]; char autor[50]; int año; }LIBRO; LIBRO biblioteca[100]; 4.- Escriba una función que imprima la lista de libros en el arreglo biblioteca. Deberá imprimir únicamente el titulo y el autor. 5.- Escriba una función que realice un ordenamiento por titulo. Use el método de ordenamiento que prefiera(burbuja o selección). 6.- Escriba una función que realice una búsqueda por titulo. Como resultado deberá imprimir el titulo, el autor y la colocación. 7.- Realice una función que imprima una lista de los libros del mismo autor. Use un ciclo que compare los datos del arreglo e imprima titulo, autor y colocación si el campo autor coincide con el buscado. 8.- Escriba una librería llamada matriz.h que contenga las operaciones de suma resta y multiplicación de matrices. Use los siguientes prototipos de función, la definición de la estructura y las formulas matemáticas de la siguiente lista: #define MAX 100 typedef struct{ int datos[MAX][MAX]; int ren;//numero de renglones de la matriz int col;//numero de columnas de la matriz }MATRIZ; MATRIZ suma(MATRIZ A, MATRIZ B); MATRIZ resta(MATRIZ A, MATRIZ B); MATRIZ multiplicacion(MATRIZ A, MATRIZ B); (A + B )ij = Aij + Bij las matrices A y B deben tener el mismo numero de renglones y columnas. (A − B )ij = Aij − Bij las matrices A y B deben tener el mismo numero de renglones y columnas. A.col −1 (A * B )ij = ∑ Aik * Bkj la matriz A debe tener el mismo numero de columnas que renglones la matriz B, es k =0 decir, A.col debe ser igual a B.ren. 9.- Se desea almacenar en un archivo llamado c:\arcervo.bib la información del arreglo biblioteca en forma binaria. Escriba la función para realizar esta tarea. 10.- Usando como base la pregunta anterior escriba una función para recuperar los datos del archivo. Rescate: ¿Con que otro nombre se conoce a Smeagol el personaje del señor de los anillos? “Por la calle del ya voy, se va a la casa del nunca”. Miguel de Cervantes Saavedra.