miércoles, 17 de abril de 2013

Examen 16 de abril de 2013

Desarrollar un programa que calcule n números aleatorios entre p y q y los muestre en forma matricial en una matriz de l x k elementos ordenados ascendentemente por columnas. Las variables n, p, q, l y k deberán ser pedidas por teclado. Si el número de filas y columnas de la matriz no es suficiente para mostrar los n elementos, debería aparecer un mensaje de error indicando este error y pidiendo nuevamente los datos de l y k.

Ejemplo: si n=10, p=5, q=15, l=3, k=4, debería mostrarse una matriz:
5   9   12  14
7   9   13 
8  11  14

Evaluación:
Comentarios 10%
Orden 10%
Generación de n números aleatorios entre p y q 10%
Ordenamiento de elementos 10%
Impresión matricial 40%
Aprobación del tamaño de la matriz 10%

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);

Código del programa

0 comentarios:

Publicar un comentario