1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Produit de matrices</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<strong>
Mulitiplication de deux matrices<br><br>
</strong>
<?php
/*************************************************************************
************************ bibliotèque des fonctions ********************
**************************************************************************/
function afficher_liste($nomvar,$n) {
$la_liste = "<select name=$nomvar>";
for ($i=1;$i<=$n;$i++) {
$la_liste .= "<option value=$i>$i</option>";
}
$la_liste .= "</select>";
echo $la_liste;
}
function fabrique_tableau($nom_tab,$nb_ligne,$nb_colonne) {
$le_tableau = "<table cellpadding='1' cellspacing='1'>";
for ($i=1;$i<=$nb_ligne;$i++) {
$le_tableau .= "<tr>";
for ($j=1;$j<=$nb_colonne;$j++) {
$le_tableau .= "<td><input name = ".$nom_tab.$i.$j." value='0' size='5'></td>";
}
$le_tableau .= "</tr>";
}
$le_tableau .= "</table>";
echo $le_tableau;
}
function somme($i,$j,$colonneA) {
$valeur = 0;
for ($k=1;$k<=$colonneA;$k++) {
$valeur += $_POST['A'.$i.$k]*$_POST['B'.$k.$j];
}
return $valeur;
}
/*************************************************************************
********** Saisie de la dimension des matrices ******************
**************************************************************************/
if( !isset($error) )
$error = 0;
$dim_maxi = 100;
echo "<form action='index.php' method='post'>";
echo"<input type='hidden' name = 'calcul' value='1'>";
echo "Matrice A : lignes ";
afficher_liste("ligneA",$dim_maxi);
echo " colonnes ";
afficher_liste("colonneA",$dim_maxi);
echo "<br>";
echo "Matrice B : lignes ";
afficher_liste("ligneB",$dim_maxi);
echo " colonnes ";
afficher_liste("colonneB",$dim_maxi);
echo "<br>";
echo "<input type='submit' value='Creer'></form>";
/*************************************************************************
********** formulaire de remplissage des matrices ***************
**************************************************************************/
if ( !empty($_POST['ligneA']) && !empty($_POST['colonneA']) && !empty($_POST['ligneB']) && !empty($_POST['colonneB']) && $error = 0 ) {
$ligneA = $_POST['ligneA'];
$colonneA = $_POST['colonneA'];
$ligneB = $_POST['ligneB'];
$colonneB = $_POST['colonneB'];
echo"<form action='index.php' method='post'>";
echo"********************************************************<br>";
echo"Matrice A : $ligneA Ligne(s) par $colonneA Colonne(s)<br>";
fabrique_tableau("A",$ligneA,$colonneA)."<br>";
echo"********************************************************<br>";
echo"Matrice B : $ligneB Ligne(s) par $colonneB Colonne(s)<br>";
fabrique_tableau("B",$ligneB,$colonneB);
echo"********************************************************<br>";
echo"<input type='hidden' name = 'calcul' value='1'>";
echo"<input type='hidden' name = 'ligneA' value=".$ligneA.">";
echo"<input type='hidden' name = 'colonneA' value=".$colonneA.">";
echo"<input type='hidden' name = 'ligneB' value=".$ligneB.">";
echo"<input type='hidden' name = 'colonneB' value=".$colonneB.">";
echo"<input type='submit' value='Calculer'>";
echo"</form>";
}
/*************************************************************************
******************* Multiplication des matrices *****************
**************************************************************************/
if (!empty($_POST['calcul'])) {
$ligneA = $_POST['ligneA'];
$colonneA = $_POST['colonneA'];
$ligneB = $_POST['ligneB'];
$colonneB = $_POST['colonneB'];
if ($colonneA != $ligneB) {
$error = 1;
echo "Les dimensions que vous avez saisies ne sont pas compatibles.<br>";
echo "Il faut que le nombre de colone(s) de A soit egal au nombre de lignes(s) de B.<br>";
echo "Et ici le nombre de colone(s) de A = $colonneA <> $ligneB = au nombre de lignes(s) de B.<br>";
} else {
echo "Le produit des 2 matrice donnent.<br>";
function somme($i,$j,$colonneA) {
$valeur = 0;
for ($k=1;$k<=$colonneA;$k++) {
$valeur += $_POST['A'.$i.$k]*$_POST['B'.$k.$j];
}
return $valeur;
}
}
}
?>
</body>
</html> |
Partager