Petit algorithme tout bête

algo.jpg

  • Mélanger dans un tableau x *y nombres se suivant de 1 à x*y,
  • Lors de l’affichage de la série, revenir à la ligne tous les x nombres.
  1. <table>
  2. <tr>
  3.  
  4. <?php
  5. $lignes=8;
  6. $colones=10;
  7.  
  8. $numbers = range(1, $lignes*$colones);
  9. $counter=1;
  10. srand((float)microtime() * 1000000);
  11. //le hasard:
  12. shuffle($numbers);
  13. while (list(, $number) = each($numbers)) {
  14. //afficher le nombre dans sa case
  15. echo "<td>".$number."</td>";
  16. //tester si faut faire un changement de ligne
  17. if ($counter%$colones==0)
  18. {
  19. if ($counter==$lignes*$colones){
  20. //c'était la derniere valeur
  21. echo "</tr>";
  22. }
  23. else
  24. {
  25. //on ferme la ligne et en ouvre une autre:
  26. echo "</tr>\n<tr>";
  27. }
  28. }
  29. $counter++;
  30. }
  31.  
  32. ?>
  33. </table>

Le seul truc à retenir, enfin disons que c’est un truc auquel je ne pense pas toujours. C’est l’utilisation du modulo (le reste de la division). ($counter%$colones==0) permet de tester si $counter est divisible par $colonnes.

Bon OK ce n’est pas avec ça que je vais postuler chez Google ou faire une thèse au MIT

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

La discussion continue ailleurs

URL de rétrolien : https://blog-du-grouik.tinad.fr/trackback/459

Fil des commentaires de ce billet

Page top