Saisie de 2 matrices puis calcul(Somme,produit) [Résolu]

oum87 21 Messages postés lundi 2 août 2010Date d'inscription 23 janvier 2013 Dernière intervention - 8 mai 2011 à 17:39 - Dernière réponse : soukaouta 47 Messages postés vendredi 29 octobre 2010Date d'inscription 16 novembre 2012 Dernière intervention
- 13 mai 2011 à 18:51
page1:form1.php
//Cette page me permet de saisir le nombre de lignes et de colonnes des 2 matrices,
je n'ai pas trouvé de problème dessus

<?php
<form action="form2.php" method="post">
MATRICE A:

Nombre de lignes de A:

Nombre de Colonnes de A:




MATRICE B:

Nombre de lignes de B:

Nombre de colonnes de B:



</form>
?>

</html>


page:form2.php
//je voudrais initialiser mes matrices en tenant compte des variables que j'avais saisi auparavant,mon code ne tourne pas !!le code que je propose est le suivant:




<?php

<form method="post" action="form3.php">
$a=$_POST['nlA'];
$b=$_POST['ncA'];
$c=$_POST['nlB'];
$d=$_POST['ncB'];

$MATA=array();
$MATB=array();

for($i=0; $i<$a; $i++)
{ $MATA[i]=array();
for($j=0; $j<$b; $j++)
{$MATA[$i][$j]:

}
}


for($k=0; $k<$c; $k++)
{ $MATB[k]=array();
for($l=0; $l<$d; $l++)
{$MATB[$k][$l}:
}
}


/</form>
?>


</html>
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
oum87 21 Messages postés lundi 2 août 2010Date d'inscription 23 janvier 2013 Dernière intervention - 10 mai 2011 à 16:51
3
Merci
Bonjour,
Finalement,j'ai tjs besoin de votre aide pour ke je puisse publier le code
Voila!!je bloke sur la page3.php ki ne se génère guère,
j'ai ajouter des variables de session ds la page 2 pour que je puisse les utiliser à la page 3
le code est le suivant:

<!--
page1:form1.php
//Cette page me permet de saisir le nombre de lignes et de colonnes des 2 matrices,
je n'ai pas trouvé de problème dessus
-->




<form action= "form2.php" method="post">
MATRICE A:

Nombre de lignes de A:

Nombre de Colonnes de A:




MATRICE B:

Nombre de lignes de B:

Nombre de colonnes de B:






</form>




</html>
page2:form2.php
//je voudrais initialiser mes matrices en tenant compte des variables que j'avais saisi auparavant,mon code ne tourne pas !!le code que je propose est le suivant:
j'ai ouvert une session pr que je puisse transmettre le nombre de lignes et de colonnes de chaque matrice à la page suivante qui permet de faire le test,

<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>


<?php

echo '<form method="post" action="form3.php">';
echo $a=$_POST['nlA'];
echo $b=$_POST['ncA'];
echo $c=$_POST['nlB'];
echo $d=$_POST['ncB'];
$_SESSION['la']='a';
$_SESSION['ca']='b';
$_SESSION['lb']='c';
$_SESSION['cb']='d';


echo '<hr>';


$MATA=array();
$MATB=array();

echo " la matrice A :
";
for($i =0; $i<$a; $i++){



for($j= 0; $j<$b; $j++){
//$MATA[$i]=array();
echo $MATA[$i][$j]=''."\r\n";
}
echo '
';
}

echo '';
//print_r($MATA);
echo '

';

echo " la matrice B :
";
for($k =0; $k<$c; $k++){
//$MATB[$k]= array();
for($l=0; $l<$d; $l++){
echo $MATB[$k][$l]=''."\r\n";
}
echo '
';
}

echo '';
//print_r($MATA);
echo '

';
$_SESSION['A']='MATA';
$_SESSION['B']='MATB';

?>

<select name="choix">
<option value="affiche A">affiche A</option>
<option value="affiche B">affiche B</option>
<option value="somme">somme</option>
<option value="produit">produit</option>
<option value="transposee A">transposee A</option>
<option value="transposee B">transposee B</option>
</select>

<?php
echo '';
echo'</form>';
?>


</html>

la page form3.php que je propose est la suivante:(mais elle ne marche pas)

<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>


<?php include ("fonction.php"); ?>

<?php
$s=array();
$p=array();
$t=array();

switch($ch)


case ($_POST['choix']=="affiche A") :

echo " la matrice A est :
";
afficher($_SESSION['A'],$_SESSION['la'],$_SESSION['ca'],"center");
break;


case ($_POST['choix'] == "affiche B") :

echo " la matrice B est :
";
afficher($_SESSION['B'],$_SESSION['lb'],$_SESSION['cb'],"center");
break;


case ($_POST['choix'] == "somme") :

echo " la Somme est :
";
somme($_SESSION['A'],$_SESSION['B'],$_SESSION['la'],$_SESSION['ca'],"center",$s);
afficher($s,$_SESSION['la'],$_SESSION['ca'],"center");
break;

case ($_POST['choix'] == "produit") :

echo " le produit A est :
";
Produit($_SESSION['A'],$_SESSION['B'],$_SESSION['la'],$_SESSION['cb'],$_POST['lb'],$p);
afficher($p,$_SESSION['la'],$_SESSION['cb'],"center");
break;


case($_POST['choix'] == "transposee A") :

echo " la transposee de A est :
";
transpose($_SESSION['A'],$_SESSION['la'],$_SESSION['ca'],$t);
afficher($t,$_SESSION['la'],$_SESSION['ca'],"center");
break;

case($_POST['choix'] == "transposee B") :

echo " la transposee de B est :
";
transpose($_SESSION['B'],$_SESSION['lb'],$_SESSION['cb'],$t);
afficher($t,$_SESSION['lb'],$_SESSION['cb'],"center");
break;

?>

?>

</html>




//j'ai inclut une page fonction.php qui permet de faire les calculs;cette page ne comprend pas d'érreur en principe:

page fonction.php


<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns ="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<?php

function afficher($a,$x,$y,$l)
{

echo "\";
for($i=0;$i<$x;$i++)
{
echo\"----
\";
for($j=0;$j<$y;$j++)
{
$f=$a[$i][$j];
echo \" $f, \";
}
echo \"\";
}
echo "
";
}

function somme($a,$b,$x,$y,$l,$s)
{
for($i=0;$i<$x;$i++)
{
for($j=0;$j<$y;$j++)
{
$s[$i][$j]=$a[$i][$j]+$b[$i][$j];
}
}

}

function Produit($a,$b,$la,$cb,$ca,&$p)
{
for($i=0;$i<$la;$i++)
{
for($j=0;$j<$cb;$j++)
{
$p[$i][$j]=0;
for($k=0;$k<$ca;$k++)
{
$p[$i][$j]=$p[$i][$j]+$a[$i][$k]*$b[$k][$j];
}
}
}
}

function transpose($a,$x,$y,&$t)
{
for($i=0;$i<$x;$i++)
{
for($j=0;$j<$y;$j++)
{
$t[$j][$i]=$a[$i][$j];
}
}
}

?>

</html>



Voila!!Aidez moi svp !!

Merci oum87 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de oum87
cod57 1660 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 8 mai 2011 à 21:31
1
Merci
bonsoir
essaie voir ça
a++

<!--
page1:form1.php 
//Cette page me permet de saisir le nombre de lignes et de colonnes des 2 matrices, 
je n'ai pas trouvé de problème dessus 
-->

<form action="" method="post"> 
MATRICE A:
 
Nombre de lignes de A:
 
Nombre de Colonnes de A:
 

 

MATRICE B:
 
Nombre de lignes de B:
 
Nombre de colonnes de B:
 
 
</form> 
 
</html> 

<!--
page:form2.php 
//je voudrais initialiser mes matrices en tenant compte des variables que j'avais saisi auparavant,mon code ne tourne pas !!le code que je propose est le suivant: 
-->


 
<?php 

echo '<form method="post" action="form3.php">'; 
echo $a=$_POST['nlA']; 
echo $b=$_POST['ncA']; 
echo $c=$_POST['nlB']; 
echo $d=$_POST['ncB']; 

echo '<hr>';


$MATA=array(); 
$MATB=array(); 

   
for($i=0; $i<$a; $i++){

   
   
   for($j=0; $j<$b; $j++){
   //$MATA[$i]=array(); 
   echo  $MATA[$i][$j]=''."\r\n"; 
   } 
   echo '
';
} 

echo '';
//print_r($MATA);
echo '

';


for($k=0; $k<$c; $k++){
    //$MATB[$k]=array(); 
    for($l=0; $l<$d; $l++){
    echo $MATB[$k][$l]=''."\r\n";
    }
    echo '
'; 
} 

echo '';
//print_r($MATA);
echo '

'; 

echo '</form>'; 
?> 
 

</html> 


Bonne programmation !
Commenter la réponse de cod57
oum87 21 Messages postés lundi 2 août 2010Date d'inscription 23 janvier 2013 Dernière intervention - 8 mai 2011 à 17:43
0
Merci
et Merci de m'aider..
Commenter la réponse de oum87
Utilisateur anonyme - 8 mai 2011 à 18:38
0
Merci
Ton programme ne tourne pas...Y aurait-il moyen d'avoir plus d'explications ? Tu as des messages d'erreurs ? Des affichages mauvais ?

--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)
Commenter la réponse de Utilisateur anonyme
oum87 21 Messages postés lundi 2 août 2010Date d'inscription 23 janvier 2013 Dernière intervention - 8 mai 2011 à 20:01
0
Merci
Bonsoir,
En effet,l'affichage est mauvais(il m'affiche le code source de la page form2.php
Merci pr la réponse
Commenter la réponse de oum87
oum87 21 Messages postés lundi 2 août 2010Date d'inscription 23 janvier 2013 Dernière intervention - 8 mai 2011 à 21:51
0
Merci
Bonsoir,Merci bcp le programme marche!!
Mais pourriez vous m'expliquez à quoi sert les balises:
echo '<hr>' ainsi que:
echo '';
//print_r($MATA);
echo '

';
Merci de répondre
Commenter la réponse de oum87
cod57 1660 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 8 mai 2011 à 22:04
0
Merci
echo '<hr>'; /*une ligne de separation html*/

echo '';
print_r($MATA);
echo '

';

affiche le tabeau preformaté, pre comme preformaté
c'est pour verifier l'aspect du tableau ...
tu peux supprimer ces lignes ...
n'oublie pas de valider le post
"reponse acceptée"

Bonne programmation !
Commenter la réponse de cod57
oum87 21 Messages postés lundi 2 août 2010Date d'inscription 23 janvier 2013 Dernière intervention - 8 mai 2011 à 22:06
0
Merci
OK Merci bcp,
je publierai le code complet une fois que je le termine
Commenter la réponse de oum87
soukaouta 47 Messages postés vendredi 29 octobre 2010Date d'inscription 16 novembre 2012 Dernière intervention - 13 mai 2011 à 18:51
0
Merci
té oumaima de l'ENSAt?
Commenter la réponse de soukaouta

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.