par
sirakawa » 11 juil. 2012, 13:44
ah bon? A priori, et a posteriori recursif <==> une condition d'arrêt.
<?PHP
function enumerer ($ligne)
{
if (count($ligne) > 0)
{
print_r($ligne);
}
}
function parcourir ($carre)
{
$dim_carre = count ($carre);
if ($dim_carre <= 1)
{
print "c'est fini";
}
else
{
$ligne_1 = array_shift($carre);
$ligne_der = array_reverse(array_pop ($carre));
$colonne_der = array();
$colonne_1 = array();
$carre_1 = array();
foreach ($carre as $ligne)
{
//print_r($ligne);
$dim = count($ligne);
$colonne_der[] = array_pop($ligne);
$colonne_1[] = array_shift($ligne);
$carre_1[] = $ligne;
}
enumerer ($ligne_1);
enumerer ($colonne_der);
enumerer ($ligne_der);
enumerer (array_reverse($colonne_1));
parcourir ($carre_1);
}
}
$carre = array(
array(0,1,2,3),
array(4,5,6,7),
array(8,9,10,11),
array(12,13,14,15));
parcourir ($carre);
?>
ah bon? A priori, et a posteriori recursif <==> une condition d'arrêt.
<?PHP
function enumerer ($ligne)
{
if (count($ligne) > 0)
{
print_r($ligne);
}
}
function parcourir ($carre)
{
$dim_carre = count ($carre);
if ($dim_carre <= 1)
{
print "c'est fini";
}
else
{
$ligne_1 = array_shift($carre);
$ligne_der = array_reverse(array_pop ($carre));
$colonne_der = array();
$colonne_1 = array();
$carre_1 = array();
foreach ($carre as $ligne)
{
//print_r($ligne);
$dim = count($ligne);
$colonne_der[] = array_pop($ligne);
$colonne_1[] = array_shift($ligne);
$carre_1[] = $ligne;
}
enumerer ($ligne_1);
enumerer ($colonne_der);
enumerer ($ligne_der);
enumerer (array_reverse($colonne_1));
parcourir ($carre_1);
}
}
$carre = array(
array(0,1,2,3),
array(4,5,6,7),
array(8,9,10,11),
array(12,13,14,15));
parcourir ($carre);
?>