miércoles, 17 de abril de 2013

Examen del 17 de abril de 2013

Desarrollar un programa para desordenar un vector de n elementos aleatorios entre p y q no repetidos. El programa ordenará el vector en forma ascendente, los mostrará en pantalla y luego los desordenará y volverá a mostrar en pantalla para poder comprobar que se han escrito los mismos elementos en forma desordenada. Tanto para la generación de números como para el desordenamiento de elementos, se deberán emplear las funciones srand, time y rand. Adicionalmente, el programa deberá comprobar la relación entre n, p y q, porque no podría darse el caso en el que, por ejemplo, n=5, p=12 y q=15, porque la generación de números aleatorios no repetitivos entre 12 y 15 daría como resultado: 12, 13, 14, 15 pero esto se contrapone a n que, para este ejemplo, valdría 5. Es decir se pediría generar 5 números no repetidos, pero sólo se pueden generar 4 no repetidos entre 12 y 15.
Ejemplo: si n=10, p=5, q=25
Vector ordenado:
Vector desordenado:
5, 7, 8, 9, 11, 13, 15, 17, 18, 20
9, 17, 20, 5, 11, 8, 7, 13, 15, 18

Evaluación
Comentarios
10%
Orden
10%
Generación de n números aleatorios entre p y q.
10%
Ordenamiento de elementos
10%
Desordenamiento de elementos y presentación de los mismos
35%
Coherencia entre n, p y q
25%

NOTAS:
El programa deberá compilarse sin errores, de lo contrario será calificado sobre el 80%.
No se permite el uso de Internet, e-mail, usb, teléfonos celulares, ni ningún otro dispositivo que permita la consulta de códigos.
Puede usar qsort para ordenar los elementos del vector. Para ello puede usar el siguiente código:
/* Prototipo de la función de comparar */
int comparar(const void *arg1, const void *arg2)
{
if(*(int *)arg1 < *(int *)arg2)
return -1;
else if(*(int *)arg1 > *(int *)arg2)
return 1;
else
return 0;
}
Un ejemplo del uso de qsort es el siguiente:
qsort(lista, ELEMENTOS, sizeof(lista[0]), comparar);

0 comentarios:

Publicar un comentario