Regalos de Navidad en formato C
Han pasado ya muchos años desde el día en que decidimos que los presentes recibidos por parte de nuestros proveedores (cohecho???) iban a ser repartidos entre todos los que formamos parte del departamento. Que bonito…!!!. Que bonito…!!!.
Dejando las tonterías a un lado, no hace falta ser muy inteligente para valorar el trabajo de todos los compañeros, y más en los días que corren. Sin el esfuerzo de muchos estaríamos hablando del fracaso de todos.
A lo que íbamos que me descentro…como esta semana ha salido el tema de la lotería de navidad, sorteos, los números pseudoaleatorios ….. que menos que transformar nuestro ancestral sistema manual de sorteo en algo mas automatizado acorde con el departamento en el que trabajamos. Ya sabemos que en casa del herrero….
Como se han venido escuchando rumores de tongo a lo largo de toda la mañana, que si todo esta amañado…..aquí os dejo este trocito de código simplón que nos ha servido en el día de hoy para realizar el sorteo. No había tiempo para mas. Las reclamaciones por favor que sean a través del departamento legal. El año que viene procederemos a realizarlo con más tiempo y de forma más profesional.
Que sepáis que todos los parches serán aplicados en la versión navidades 2012 🙂
//Sorteo de regalos Navidad #include <stdlib.h> #include <stdio.h> #include <stdbool.h> #define num_participantes 22 int rdtsc() { __asm__ __volatile__("rdtsc"); } bool existe(int n, int numeros[]) { int i; for(i=0; i<n; i++) if(n == numeros[i]) return true; return false; } int main() { int i,num_premiado; char *regalos[]={"Regalo 1", "Regalo 2", "Regalo 3", "Regalo 4", .......... }; int num_regalos= sizeof(regalos)/sizeof(*regalos); srand(rdtsc()); int numeros[num_regalos]; for(i=0; i<num_regalos;i++) { do num_premiado=1+ rand() % num_participantes; while(existe(num_premiado, numeros)); numeros[i] = num_premiado; printf("%-30s es para el número : %d\n", regalos[i],num_premiado); } return 0; }
Aprovecho el articulo para felicitar a todo el mundo MUNDIAL estas navidades, y que quede constancia y todo el mundo sepa de que la fortuna nunca me sonríe en este tipo de sorteos. Porque ???????