Valid XHTML    Valid CSS2    

Listing du fichier valmax.php

 

00001     <?php
00002     
00003     
##################################################################
00004     
00005     
function valMax($leTableau) {
00006     
00007     
##################################################################
00008     
00009      # nbelt : nombre d'éléments dans le tableau
00010      # maxjl : maximum courant (Jusque Là)
00011      # idv : indice de valeur dans le tableau
00012      # valc : valeur courante dans le tableau à l'indice idv
00013     
00014     
$nbelt
= count($leTableau) ;
00015     
$maxjl
= $leTableau[0] ;
00016     
00017      for (
$idv
=0;$idv<$nbelt;$idv++) {
00018     
$valc
= $leTableau[$idv] ;
00019      if (
$valc
>$maxjl) { $maxjl = $leTableau[$idv] ; } ;
00020      } ;
# fin pour idv
00021     
00022     
return(
$maxjl ) ;
00023     
00024     }
# fin de fonction valMax
00025     
00026     ##################################################################
00027     
00028     
$tableau
= preg_split("/\s+/","1 8 2 8 3 6 8 2") ;
00029     
00030     
# si vous décommentez la ligne suivante, on trie des chaines de caractères :
00031     # $tableau = preg_split("/\s+/","le chat, le chien et le rat sont des animaux") ;
00032     
00033     
echo
"Voici le tableau utilisé :\n" ;
00034     
00035     
print_r
($tableau) ;
00036     
00037     
# version 1 : utilisation de valMax et utilisation d'une boucle
00038     # pour calculer le nombre d'occurences du max
00039     
00040     
$vmax
= valMax($tableau) ;
00041     echo
"Version 1 : le plus grand élément est
$vmax " ;
00042     
00043     
$nbmax
= 0 ;
00044     
$nbelt
= count($tableau) ;
00045     for (
$idv
=0;$idv<$nbelt;$idv++) {
00046     
$valc
= $tableau[$idv] ;
00047      if (
$valc
==$vmax) { $nbmax++ ; } ;
00048     } ;
# fin pour idv
00049     
00050     
echo
" et il apparait $nbmax fois.\n\n" ;
00051     
00052     
# version 2 : tout en une seule boucle
00053     
00054      # nbelt : nombre d'éléments dans le tableau
00055      # maxjl : maximum courant (Jusque Là)
00056      # idv : indice de valeur dans le tableau
00057      # valc : valeur courante dans le tableau à l'indice idv
00058     
00059      # prem : première fois où on la voit
00060      # dern : dernière fois où on la voit
00061      # nboc : nombre d'occurences
00062     
00063     
$nbelt
= count($tableau) ;
00064     
$maxjl
= $tableau[0] ;
00065     
$prem
= 1 ;
00066     
$dern
= 1 ;
00067     
$nboc
= 0 ;
00068      for (
$idv
=0;$idv<$nbelt;$idv++) {
00069     
$valc
= $tableau[$idv] ;
00070      if (
$valc
==$maxjl) {
00071     
$nboc++ ;
00072     
$dern
= $idv+1 ;
00073      } else {
00074      if (
$valc
>$maxjl) {
00075     
$maxjl
= $tableau[$idv] ;
00076     
$nboc
= 1 ;
00077     
$prem
= $idv+1 ;
00078     
$dern
= $idv+1 ;
00079      } ;
# fin si
00080     
} ; # fin de si
00081     
} ; # fin pour idv
00082     
00083     
echo
"Version 2 : le plus grand élément est $vmax " ;
00084     echo
" et il apparait
$nboc fois,\n" ;
00085     echo
"la première fois en position
$prem et " ;
00086     echo
"la dernière fois en position
$dern.\n\n" ;
00087     
00088     
/**************************************************
00089     
00090      Affichage :
00091     
00092     Voici le tableau utilisé
00093     
00094     Array
00095     (
00096      [0] => 1
00097      [1] => 8
00098      [2] => 2
00099      [3] => 8
00100      [4] => 3
00101      [5] => 6
00102      [6] => 8
00103      [7] => 2
00104     )
00105     
00106     Version 1 : le plus grand élément est 8 et il apparait 3 fois.
00107     
00108     Version 2 : le plus grand élément est 8 et il apparait 3 fois,
00109     la première fois en position 2 et la dernière fois en position 7.
00110     
00111     avec les chaines de caractères :
00112     --------------------------------
00113     
00114     Voici le tableau utilisé :
00115     Array
00116     (
00117      [0] => le
00118      [1] => chat,
00119      [2] => le
00120      [3] => chien
00121      [4] => et
00122      [5] => le
00123      [6] => rat
00124      [7] => sont
00125      [8] => des
00126     
00127     
00128     Version 1 : le plus grand élément est sont et il apparait 1 fois.
00129     
00130     Version 2 : le plus grand élément est sont et il apparait 1 fois,
00131     la première fois en position 8 et la dernière fois en position 8.
00132     
00133     
00134     **************************************************/
00135     
00136     
?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)