Question methode c++ (algo)

Question methode c++ (algo) - C++ - Programmation

Marsh Posté le 24-07-2003 à 16:05:50    

:hello:  
 
ja un un array de struct players
 
players.name
players.total_points
ectt...
 
 
A la fin de mon programme je dois afficher le(s) vainqueurs ou non ou egalites.
 
j ai classe mon array de struct dans lordre croissant par nombre de points.
 
-le player ayant un score  < =  15 , le plus proche de 15 est vainqueur.
-si tout le monde a + que 15 --> perdus
-si 2 ou plus on 15 egalite ---> draw
 
 
comment gerer ca au mieux ? est il vraiment utile d avoir ordonner le tableau ?
 
je pensai utiliser un compteur et if
 

Code :
  1. int compteur winner
  2. for ( blablabla i++ ) {
  3. if (player_array[i].total_point == 15)
  4.   {
  5.    compteur_winner ++ ;
  6.   }
  7. ?


Message édité par xiluoc le 24-07-2003 à 16:06:15
Reply

Marsh Posté le 24-07-2003 à 16:05:50   

Reply

Marsh Posté le 24-07-2003 à 16:25:46    

- deja tu regardes le dernier element de ton tableau et si il est > 15 , tu peux deja virer ta deuxieme condition.
- tu balayes ton tableau jusqu'a trouver un element dont le score n'est pas plus grand que 15 (condition 1)
- tu balayes ton tableau pour compter si y a pas plus de deux players qui ont un score >=15 (condition 3)
 
 :pfff:

Reply

Marsh Posté le 24-07-2003 à 16:30:09    

Moi je stockerais dans un autre tableau les joueurs ayant effectivement un score <= 15. Chaque fois que tu modifie un score si le nouveau score est inférieur à 15 tu ajoute, si c superieur tu retire.


---------------
Le Tyran
Reply

Marsh Posté le 24-07-2003 à 16:31:24    

polo021 a écrit :

- deja tu regardes le dernier element de ton tableau et si il est > 15 , tu peux deja virer ta deuxieme condition.
- tu balayes ton tableau jusqu'a trouver un element dont le score n'est pas plus grand que 15 (condition 1)
- tu balayes ton tableau pour compter si y a pas plus de deux players qui ont un score >=15 (condition 3)
 
 :pfff:  


 

Code :
  1. - deja tu regardes le dernier element de ton tableau et si il est > 15 , tu peux deja virer ta deuxieme condition.

 
 [:alarmclock119] keske jesuis bettteeee  :whistle:

Reply

Marsh Posté le 04-08-2003 à 14:37:22    

coulix boolay

Reply

Marsh Posté le 05-08-2003 à 05:16:05    

Taz a écrit :

coulix boolay


la methode que jai utilise :
classr le tableau dans lordre croisant
copier tout les <= 15 dans une pile,
si le top de la pile = celui en dessous draw, sinon winner = top de   la pile  :D


---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 05-08-2003 à 06:53:09    

std::remove_copy_if

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed