Table des mutliplications
Résolu
Tzmagnum
Messages postés
132
Statut
Membre
-
tzmagnum -
tzmagnum -
Bonjour,
Comment faire pour que mes premières lignes horizontale & vertical soit de 0 à 10 et que l'horizontale ne soit pas en négatif mais bien en positif svp ?
Merci d'avance
Voici le code et un printscreen du résultat :

Comment faire pour que mes premières lignes horizontale & vertical soit de 0 à 10 et que l'horizontale ne soit pas en négatif mais bien en positif svp ?
Merci d'avance
Voici le code et un printscreen du résultat :
<html>
<head><title>Afficher le tableau des multiplications</title>
<style type="text/css">
.tableStyle{
background:#dbe5f1;
border:1px solid black;
width:600px;
margin:40px;
}
.tableStyle tr td{
border:1px solid black;
text-align:center;
}
</style>
</head>
</html>
<center>
<?php
function cl($i,$j)
{
$r="background-color:chocolate";
$c="background-color:coral";
$k="background-color:khaki";
if($i==0 ){
return $r;
}elseif($i%2==1){
return $c;
}else{
return $k;
}
}
echo"<h2> <b><u>Tableau des multiplications :</u></b> </h2>";
echo"<table class='tableStyle'>";
for($i=0;$i<12;$i++)
{
$r="background-color:chocolate";
$g="background-color:coral";
echo"<tr>";
for($j=0;$j<12;$j++)
{
$k=$i-1;
$l=$j-1;
$p=$l*$k;
if( $j==0 and $i==0)
{
echo"<td style='$r;'>   </td>";
}elseif( $j==0 )
{
echo "<td style='$r;'><b>$k</b></td>";
}else{
$c=cl($i,$j);
if($i==$j or $i==0)
{
echo"<td style='$c;'><b>$p</b></td>";
}else{
echo"<td style='$c;'>$p</td>";
}
}
}
echo"</tr>";
}
echo"</table>";
?>
</center>
2 réponses
-
Bonjour,
Voici le code et après les explications :
<html> <head> <title>Afficher le tableau des multiplications</title> <style type="text/css"> .tableStyle { background:#dbe5f1; border:1px solid black; width:600px; margin:40px; } .tableStyle tr td { border:1px solid black; text-align:center; } </style> </head> <body> <center> <?php function cl($i,$j) { $r="background-color:chocolate"; $c="background-color:coral"; $k="background-color:khaki"; if($i==1 ){ return $r; }elseif($i%2==1){ return $c; }else{ return $k; } } echo"<h2> <b><u>Tableau des multiplications :</u></b> </h2>"; echo"<table class='tableStyle'>"; for($i=1;$i<12;$i++) { $r="background-color:chocolate"; $g="background-color:coral"; echo"<tr>"; for($j=1;$j<12;$j++) { $k= $i-1; $l= $j-1; $p= $l * $k; if( $j==1 and $i==1) { echo"<td style='$r;'> </td>"; }elseif( $j==1 ) { //Facteur Colonne echo "<td style='$r;'><b>$k</b></td>"; }else{ $c=cl($i,$j); if($i==$j) { //Diagonale echo '<td style=' . $c . ';"><b>' . $p . '</b></td>'; } //Facteur Horizontal elseif ($i==1) { echo '<td style=' . $c . ';"><b>' . $l . '</b></td>'; } else{ //Verticale echo '<td style=' . $c . ';">' . $p . '</td>'; } } } echo"</tr>"; } echo"</table>"; ?> </center> </body> </html>
Votre problème c'était qu'à la ligne 60 vous avez mit la variable $p. Mais en corrigeant cette variable la diagonale ne fonctionne plus.
Alors voila ce que j'ai changé : A la ligne 62 j'ai rajouté un elseif pour séparé la condition en 2, en faisant cela il y a une condition qui multiplie la verticale par l'horizontale et l'autre qui n'affiche que l'horizontal. Et j'ai aussi fait en sorte que le tableau commence par 1 et non par 0.
Ravi d'avoir aidé -