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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
print "Veuillez entrer un motif \n";
$motif=<>;
chomp($motif);
$m=length($motif);
Ma première fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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