BIENVENIDOS

Aquí encontrarás recursos importantes que te permitirán adquirir o reforzar conocimientos sobre el lenguaje de programación en ANSI C.

Mostrando entradas con la etiqueta ordenamiento. Mostrar todas las entradas
Mostrando entradas con la etiqueta ordenamiento. Mostrar todas las entradas

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

Leer más...

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

Leer más...

miércoles, 4 de enero de 2012

Examen Supletorio (3 de enero de 2012)

Realizar un programa que muestre el siguiente menú:

1. Operaciones entre matrices
2. Impresión de tablas de bingo
3. Salir

Cuando se seleccione la opción 1, se deberá borrar la pantalla y mostrar otro menú en el que se muestren las siguientes opciones:

1. Multiplicación de matrices
2. Inversión de una matriz

En cada opción se deberán pedir los datos respectivos.

Leer más...

viernes, 9 de diciembre de 2011

Creación de Tablas de Bingo en archivo de texto

Suponga que una empresa le ha pedido desarrollar un software que permita imprimir "n" tablas de bingo (el programa debería pedir el número de tablas) con las siguientes características: 
  1. La tabla deberá tener 4 filas por 4 columnas. Cada columna deberá ser llenada con 4 números aleatorios entre 1 y 10 para la primera columna, entre 11 y 20 para la segunda, entre 21 y 30 para la tercera y entre 31 y 40 para la cuarta. 
  2. Cada columna deberá imprimirse en orden descendente. 
  3. Ningún número deberá repetirse en la tabla. 
  4. Las tablas deberán ser mostradas en la pantalla una por una. 
  5. Las tablas deberán ser entregadas a "n" personas inscritas en el juego. 
  6. Se deberán imprimir en un archivo las "n" tablas, anteponiendo a cada una el nombre de la persona inscrita. 
Desarrolle su programa usando funciones, utilice estructuras formadas por dos campos: el nombre de la persona inscrita y la tabla calculada, para que al final imprima en un archivo de texto el nombre de la persona inscrita en el juego y la tabla que le ha sido otorgada al azar. 

Leer más...