Valid XHTML     Valid CSS2    

Listing du fichier valmax.php avec syntaxhighlighter


        <?php
        
        ##################################################################
        
        function valMax($leTableau) {
        
        ##################################################################
        
          # nbelt : nombre d'éléments dans le tableau
          # maxjl : maximum courant (Jusque Là)
          # idv   : indice de valeur dans le tableau
          # valc  : valeur courante dans le tableau à l'indice idv
        
          $nbelt = count($leTableau) ;
          $maxjl = $leTableau[0] ;
        
          for ($idv=0;$idv<$nbelt;$idv++) {
            $valc = $leTableau[$idv] ;
            if ($valc>$maxjl) { $maxjl = $leTableau[$idv] ; } ;
          } ; # fin pour idv
        
          return( $maxjl ) ;
        
        } # fin de fonction valMax
        
        ##################################################################
        
        $tableau = preg_split("/\s+/","1 8 2 8 3 6 8 2") ;
        
        # si vous décommentez la ligne suivante, on trie des chaines de caractères :
        # $tableau = preg_split("/\s+/","le chat, le chien et le rat sont des animaux") ;
        
        echo "Voici le tableau utilisé :\n" ;
        
        print_r($tableau) ;
        
        # version 1 : utilisation de valMax et utilisation d'une boucle
        #             pour calculer le nombre d'occurences du max
        
        $vmax = valMax($tableau) ;
        echo "Version 1 : le plus grand élément est $vmax " ;
        
        $nbmax = 0 ;
        $nbelt = count($tableau) ;
        for ($idv=0;$idv<$nbelt;$idv++) {
            $valc = $tableau[$idv] ;
            if ($valc==$vmax) { $nbmax++ ; } ;
        } ; # fin pour idv
        
        echo " et il apparait $nbmax fois.\n\n" ;
        
        # version 2 : tout en une seule boucle
        
          # nbelt : nombre d'éléments dans le tableau
          # maxjl : maximum courant (Jusque Là)
          # idv   : indice de valeur dans le tableau
          # valc  : valeur courante dans le tableau à l'indice idv
        
          #       prem  : première fois où on la voit
          #       dern  : dernière fois où on la voit
          #       nboc  : nombre d'occurences
        
          $nbelt = count($tableau) ;
          $maxjl = $tableau[0] ;
          $prem  = 1 ;
          $dern  = 1 ;
          $nboc  = 0 ;
          for ($idv=0;$idv<$nbelt;$idv++) {
            $valc = $tableau[$idv] ;
            if ($valc==$maxjl) {
                $nboc++  ;
                $dern  = $idv+1 ;
            } else {
                if ($valc>$maxjl) {
                    $maxjl = $tableau[$idv] ;
                    $nboc  = 1 ;
                    $prem  = $idv+1 ;
                    $dern  = $idv+1 ;
                } ; # fin si
            } ; # fin de si
          } ; # fin pour idv
        
        echo "Version 2 : le plus grand élément est $vmax " ;
        echo " et il apparait $nboc fois,\n" ;
        echo "la première fois en position $prem et " ;
        echo "la dernière fois en position $dern.\n\n" ;
        
        /**************************************************
        
         Affichage :
        
        Voici le tableau utilisé
        
        Array
        (
            [0] => 1
            [1] => 8
            [2] => 2
            [3] => 8
            [4] => 3
            [5] => 6
            [6] => 8
            [7] => 2
        )
        
        Version 1 : le plus grand élément est 8  et il apparait 3 fois.
        
        Version 2 : le plus grand élément est 8  et il apparait 3 fois,
        la première fois en position 2 et la dernière fois en position 7.
        
        avec les chaines de caractères :
        --------------------------------
        
        Voici le tableau utilisé :
        Array
        (
            [0] => le
            [1] => chat,
            [2] => le
            [3] => chien
            [4] => et
            [5] => le
            [6] => rat
            [7] => sont
            [8] => des
        
        
        Version 1 : le plus grand élément est sont  et il apparait 1 fois.
        
        Version 2 : le plus grand élément est sont  et il apparait 1 fois,
        la première fois en position 8 et la dernière fois en position 8.
        
        
        **************************************************/
        
        ?>
        

La coloration syntaxique est réalisée par : SyntaxHighlighter.

Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.

 

 

retour gH    Retour à la page principale de   (gH)