Problèmes paramètres tableau 2 dimension
Bonjour,
Je cherche désespérément de l'aide sur un sujet.
Voila, j'ai créé une fonction qui me rempli un tableau 2 dimension avec comme prmeier paramètre un chiffre et en deuxième une lettre. Cette fonction doit me retourner le tableau 2 dimension afin que je le repasse en paramètre d'entré dans une autre fonction mais cela ne marche pas!!
Je n'arrive déjà pas à afficher le tableau lorsque je fais un return de ma première fonction!!
Je vous mets mon bout de code et si quelqu'un à la solution, ça serait génial!
en vous remerciant
Code:
1 2 3 4
| print "Veuillez entrer un motif \n";
$motif=<>;
chomp($motif);
$m=length($motif); |
Ma première fonction :
Code:
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
| sub Calcul_Fonction_Transition {
$n= $_[0];
@sigma=('a','b','c');
$m=length($n);
for ($q=0 ; $q <= $m ; $q++) {
foreach $mot (@sigma) {
if ($m+1 < $q+2 ) {
$k=$m+1;
}else {
$k=$q+2;
}
do {
$k=$k-1;
$pk=substr($n,0,$q).$mot;
$lpk=length($pk);
} until ((substr($n,0,$k))eq(substr($pk,$lpk-$k,$k)) or ($k==0)) ;
$delta[$q][$mot]=$k;
print "$delta[$q][$mot] ";
}
print"\n";
}
return (@delta);
}
# appel par invocation de la fct suivi de la liste des valeurs des paramètres effectifs
@delt=Calcul_Fonction_Transition($motif);
print "voici delt: @delt\n"; |
Ma deuxième fonction
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| sub Recherche_Automate_Fini{
$text=$_[0];
@delta=$_[1];
$m=$_[2];
$n=length($text);
$q=0;
for ($i=1;$i<=$n;$i++){
$lettre=substr($text,$i-1,1);
print "voici le tableau: $delta[$q][$lettre]\n";
$q=$delta[$q][$lettre];
if ($q==$m){
$s=$i-$m;
print "le motif apparait avec le decalage $s \n";
}
}
}
print "Veuillez entrer un texte \n";
$texte=<>;
chomp($texte);
@liste=($texte,@delt,$m);
&Recherche_Automate_Fini(@liste); |
Merci encore pour l'aide que vous m'apporterez:king: