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
Ma première fonction :
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 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
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";
Merci encore pour l'aide que vous m'apporterez
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);![]()
Partager