IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Problèmes paramètres tableau 2 dimension


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut 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 : 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

  2. #2
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Bonjour,

    Et si tu nous disais plutôt ce que tu voulais mettre dans tes tableaux à deux dimensions ? Vu comme ça, ton code est assez étrange...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut
    EN fait mon code est un code de modélisation du langage. Le but final est de déterminer le décalage d'un motif dans un texte. Ma première fonction rempli le tableau 2D, cela marche car l'affichage au fur et à mesure de la fonction est correct; voici la forme de mon tableau: (le motif choisit est "ababaca" donc l'alphabet utilisé est 'a','b','c')

    Etat a b c
    0 1 0 0
    1 1 2 0
    2 3 0 0
    3 1 4 0
    4 5 0 0
    5 1 4 6
    6 7 0 0
    7 1 2 0

    On s'arrète à la longueur du motif
    Le but est d'arriver à retourner ce tableau pour:
    - dans un premier temps l'afficher en dehors de la fonction
    - Le passer en paramètre dans ma deuxième fontion afin de trouver le décalage en se servant de ses valeurs

    Redites moi si je ne suis pas clair

    En vous remerciant

Discussions similaires

  1. Problème malloc() tableau 3 dimensions
    Par Hyris dans le forum C
    Réponses: 14
    Dernier message: 05/06/2008, 19h30
  2. Problème de tableau à deux dimensions
    Par _SamSoft_ dans le forum C
    Réponses: 5
    Dernier message: 05/12/2007, 09h31
  3. [Débutant] Problème avec tableau à deux dimensions
    Par beegees dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/12/2006, 14h06
  4. [VBA-E] passer en paramètre un tableau à 2 dimensions
    Par websurfeur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2006, 10h46
  5. Réponses: 4
    Dernier message: 06/10/2005, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo