Bonjour, je dois réaliser un algorythme permettant de choisir une personne dans un tableau de présence selon leur dispo et leur présence cumulée sur les jours précédents afin contruire un nouveau tableau affichant le résultat de ce choix.
Je vous prends un exemple :
extrait du fichier cvs :
,,,10/08/18,11/08/18,12/08/18,13/08/18
,,bob,1,1,1,
,,jess,,1,1,1
,,mike,1,,1,1
Je voudrais que le programme vérifie qui est présent sur la journée du 10/08/18. Ici bob et mike. Puis dans la mesure où c'est le premier test et qu'il y a deux personnes disponibles il faudrait tirer au sort 1 des 2 et construire un nouveau tableau indiquant la personne choisie et incrémentant un compteur du nombre total de jours présences. Ici, si par exemple le choix aléatoire donne bob, il faudrait donc construire un nouveau tableau en indiquant que bob devra être présent le 10/08/18 et que son total de jours de présence est égal à 1. Les autres personnes étant à 0.
Puis passer au deuxième jour (11/08/18) et faire de même. Ici, bob et jess sont dispo. Mais comme bob a déjà 1 journée de présence alors que jess est à 0, il faut alimenter le nouveau tableau en indiquant la présence de jess sur la journée du 11/08/18 et mettre les autres au repos et ajouter un au nombre de journée total effectué par jess.
Et continuer ainsi jusqu'à la fin en vérifiant toujours quelles sont les personnes présentes, quel est le total de journées déjà effectuées puis si une personne est seule à avoir un nombre de journées inférieur aux autres, l'ajouter au planning difinitif et si plusieurs personnes ont un nombre égal de jours inférieurs, alors effectuer un tirage au sort et mettre "l'élu" dans le nouveau tableau en ajoutant 1 à son nombre total de journées.
J'espère que cette description n'est pas complètement incomprehensible et que vous allez pouvoir me mettre sur une piste.
Je précise que pour l'exemple, j'ai pris volontairement un petit tableau, mais en réalité, mon tableau comporte 16 lignes "prénom" et une année complète à traiter au niveau des dates.
Merci d'avance pour votre aide.
Partager