Bonjour à Tous,
J'aimerais savoir si vous pouvez m'aider à faire un appel à une fonction qui permet de retourner une liste de clients aléatoirement.
Fonction 1:
Code :
- void affect_client_to_days(JOURS *days, donnee *data, usine1 *usine, client *cust, int TotDemCust)
- {
- int j=0;
- int t;
- int jr;
- int dem;
- int it=0;
- int nbr_c=1;
- srand(time(NULL));
- int nombre_aleatoire = 0;
- for (jr=1; jr<=data->nbr_periodes; jr++)
- {
- days[jr].TotDemCust = 0;
- days[jr].nbr_clients= 0;
- while (((usine->dem_jour[jr]+usine->stock[jr-1]) > TotDemCust) && (it < data->nbr_clients))
- {
- nombre_aleatoire = rand()%data->nbr_clients+1;
- j=nombre_aleatoire;
- if((cust[j].Nbvisites < cust[j].frequence)&& (days[jr].cust[j]==0))
- {
- days[jr].nbr_clients++;
- cust[j].Nbvisites++;
- days[jr].cust[j]=1;
- days[jr].listcust[days[jr].nbr_clients]=j;
- days[jr].TotDemCust+=cust[j].demande;
- printf("affecter le client numero %d a la periode %d\n",nombre_aleatoire, jr);
- }
- it++;
- }
- it=0;
- if(usine->dem_jour[jr] > days[jr].TotDemCust)
- {
- j=1;
- while ((j <= data->nbr_clients) || (usine->dem_jour[jr] > days[jr].TotDemCust))
- {
- if((cust[j].Nbvisites < cust[j].frequence)&& (days[jr].cust[j]==0))
- {
- days[jr].nbr_clients++;
- cust[j].Nbvisites++;
- days[jr].cust[j]=1;
- days[jr].listcust[days[jr].nbr_clients]=j;
- days[jr].TotDemCust+=cust[j].demande;
- }
- j++;
- }
- }
- }
- usine->stock[jr]=usine->stock[jr-1]+days[jr].TotDemCust-usine->dem_jour[jr];
- it=0;
- }
|
J'ai besoin maintenant d'utiliser cette liste de clients dans une autre fonction qui permet de les classer par ordre décroissant en fonction de leur demande (sachant que les quantités de demandes se trouvent dans un fichier texte.
Fonction 2 :
Code :
- void rechercher_max_quantite(donnee *data, client *cust)
- {
- int j = 1;
- int i;
- double max;
- int quantite, num_client;
- for (i=1; i<=data->nbr_depots; i++)
- {
- max = cust[i].demande;
- for (j = data->nbr_depots; j <= data->nbr_clients + data->nbr_depots; j++)
- {
- if (cust[i].demande < max)
- {
- max = cust[i].demande;
- quantite = i;
- num_client = j - data->nbr_depots;
- }
- }
- }
- if((j - data->nbr_depots - 1) == data->nbr_clients)
- printf("Le client %d a la quantite suivante %d\n", num_client, max);
- }
|
Je ne sais pas c'est quoi la syntaxe qui permet de faire appel d'une fonction et l'utiliser dans une autre fonction.
Merci pour vos remarques et vos réponses.
Cdls.