Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En este laboratorio se hará uso de las plantillas o templates para realizar funciones con el
fin de que estas puedan recibir cualquier tipo de dato. En este caso se hará uso de las plantillas para
realizar distintas operaciones con arrays con distintos tipos de datos.
Ejercicio #1
Escriba una función template para encontrar el índice del elemento más pequeño de un
array de cualquier tipo. Pruebe la función con tres arrays de tipo int, double y char. Entonces
imprima el valor del elemento más pequeño.
Para este ejercicio primero se crea una plantilla para la función “smaller” con el fin que la
función reciba arreglos que almacenen distintos tipos de datos. Dentro de la función se realiza una
variable local para darle un valor temporal a la posición donde se almacena el dato de menor valor
del arreglo, posteriormente un ciclo para recorrer cada uno de las posiciones del arreglo, luego
dentro del ciclo se valida si el valor dentro del arreglo en una posición inicial es menor al valor de
la siguiente posición y además es menor al valor de la posición de la variable “indMenor”, en caso
que esta condición se cumpla la posición del arreglo donde se encuentra el valor mas pequeño se
almacenara en la variable “indMenor”. En cuyo caso esta condición no se cumpla se realiza otra
condición para validar que el arreglo en la posición de la variable “indMenor” sea menor al arreglo
en la posición “i+1”. Finalmente se retorna la posición del arreglo que tiene el índice de menor
valor, el cual se almacena en la variable “indMenor”.
Ejercicio #2
Ejercicio 3
Escriba una función template para encontrar un valor en un array. Pruebe la función con
dos arrays de tipo int y char.
template <typename T, int N>
bool find(T(&array)[N], T valor){
Ejercicio #4
Defina una función para revertir el orden de los elementos de un array de cualquier tipo.
Pruebe el programa con un array de int, double, char y string. Use una función auxiliar para
intercambiar dos elementos cualesquiera. Use una función auxiliar para imprimir el contenido de
un arreglo antes y después del intercambio.