Allora vi spiego, praticamente sto scrivendo un programma dove c'è una maratona con 9999 concorrenti numerati da 1 a 9999.
Allora prima di tutto di tutti sti concorrenti fra 100 e 300 concorrenti a caso vengono squalificati, e praticamente vengono esclusi, poi devo anche scrivere il numero e quanto tempo ci hanno impiegato i primi 3 classificati (che deve essere compreso tra 2 e 4 ore e devono esserci compresi i minuti e secondi).
Il tutto comunque deve essere scritto facendo delle funzioni.
Allora io sono riuscito a fare una parte di sto programma ma ci sono un pò di cose che alla fine non mi tornano:
1)Sono riuscito a far squalificare un numero compreso tra 100 e 300 persone ma non riesco ad escluderle dalla classifica finale nell' eventualità vengano di nuovo sorteggiati tra i primi 3 classificati.
2) Sono riuscito a generare 3 concorrenti a caso con il tempo compreso tra le 2 e le 4 ore solo che non riesco a metterli in ordine, cioè può capitare che c'è scritto che il primo ci ha messo più tempo del secondo e/o del terzo.
Ecco vi posto il codice che ho scritto finora:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void squalifica()
{
int s, min = 100, max = 300;
srand((unsigned)time(NULL));
s = rand() % (max - min) + min;
printf("\nSono stati squalificati %d concorrenti.",s);
int i=0;
srand(time(NULL));
for(i=0; i <s; i++) {
printf("\nIl concorrente numero %d e' squalificato", rand( ) % 10000);
}
system("pause");
}
void vincitori()
{
int p1, min = 1, max = 9999;
srand((unsigned)time(NULL));
p1 = rand() % (max - min) + min;
int p2 = rand() % (max - min) + min;
int p3 = rand() % (max - min) + min;
int h, min2 = 2, max2 = 4;
srand((unsigned)time(NULL));
h = rand() % (max2 - min2) + min2;
int m, min3 = 0, max3 = 60;
srand((unsigned)time(NULL));
m = rand() % (max3 - min3) + min3;
int s = rand() % (max3 - min3) + min3;
int h2 = rand() % (max2 - min2) + min2;
int m2 = rand() % (max3 - min3) + min3;
int s2 = rand() % (max3 - min3) + min3;
int h3 = rand() % (max2 - min2) + min2;
int m3 = rand() % (max3 - min3) + min3;
int s3 = rand() % (max3 - min3) + min3;
printf("Ha vinto il concorrente %d impiegandoci %d ore %d minuti %d secondi",p1,h,m,s);
printf("\nSecondo il concorrente %d impiegandoci %d ore %d minuti %d secondi",p2,h2,m2,s2);
printf("\nTerzo il concorrente %d impiegandoci %d ore %d minuti %d secondi",p3,h3,m3,s3);
}
int main() {
vincitori();
squalifica();
return 0;
}
Qualcuno può aiutarmi ? Per favore