Diseño y Programación Orientados a Objetos
1er. Sem 2004
Tarea 4: Tómbola en C++ y HTML

En esta tarea usted va a trabajar con plantillad (templates), la Biblioteca estándar de plantillas (STL) de C++, y algoritmos genéricos.

Problema: Una tara que con frecuencia nos topamos en los últimos cursos es la definición de un orden de personas para hacer algo. Típicamente para hacer la presentación de temas de seminario, temas de proyectos, etc.

La arquitectura de la solución que usted explorará (sólo hará una parte), propone el despliegue de una página HTML via un browser en donde habrá un campo (formulario) para escribir la lista de los temas, nombres, o lo que deseemos definir orden. Obviamente se espera que el usuario haga un cut-and-paste de un archivo de texto o similar para no escribir todo. Cada línea contendrá una item a permutar. Luego el browser enviará la lista ingresada en el formulario. De regreso el sistema retornará una página HTML con una permutación aleatoria de las líneas formateadas con números por línea indicando el orden resultante.

En este sistema usted será responsable, en esta tarea,  de desarrollar la base de la CGI que resolverá el problema. Para ello la especificación de su tarea queda definida como: Desarrolle un programa en C++ que reciba un archivo de texto por la entrada estándar y envie por la salida estándar una permutación aleatoria de las líneas ingresadas. La salida debe corresponder a código HTML en donde se ha agregado un número a cada línea. Se pide que el programa sea escrito en C++, haga uso de un contenedor apropiado y el algoritmos genéricos.


Sintaxsis: permute

Ayuda: Ver ejemplo sobre permutaciones aleatorias. y algoritmo random_shuffle