+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Discussion: Graphe eulérien

  1. #1

    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2011
    Messages : 24
    Points : -1
    Points
    -1

    Par défaut Graphe eulérien

    Bonjour, nous avons un exercice à faire dans le cadre du cours, je pense avoir trouvé la solution mais j'ai une erreur qui revient régulièrement que voici, elle se trouve dans ce morceau de code :

    Code :
    1
    2
    3
    4
    5
    while G1[(C[indi])]=[] do
            indi:=indi+1;
    end do:
    
    Error, (in euleri) invalid subscript selector
    Des que j'enleve ce morceau de code, plus d'erreur donc je pense que ça vient du G1[(C[indi])]=[].

    J'ai essayer de passer le C[indi] dans une variable mais le résultat est le même.
    Et C est bien sur non vide, tout comme G1.

    Merci de votre aide.

  2. #2
    Membre habitué Avatar de quentinh
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2011
    Messages : 79
    Points : 113
    Points
    113

    Par défaut

    Serait-il possible d'avoir le code de tout l'algorithme ?
    Mon projet : Devilsai

  3. #3

    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2011
    Messages : 24
    Points : -1
    Points
    -1

    Par défaut

    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
    30
    31
    euleri:=proc(G)
     local C,C1,i,G1,t,indi;
     C:=[1];
     C1:=[];
     i:=1;
     indi:=1;
     G1:=G;
     while G1<>[] do
       if G1[i]=[] then
           indi:=indi+1; 
           
             while G1[(C[indi])]=[] do
               indi:=indi+1;
                     
      end do;
           i:=C[indi];
       else 
         while G1[i]<>[] do
           t:=tete(G1[i]);
           G1[t]:=enleve(G1[t],i);
           G1[i]:=reste(G1[i]);     
           i:=t; 
           C1:=ajoutFin(t,C1);
         end do;
     
     C:=insert(C,C1,i);
     end if;
     
     end do;
       C;
     end:

  4. #4
    Membre habitué Avatar de quentinh
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2011
    Messages : 79
    Points : 113
    Points
    113

    Par défaut

    Sans les procédures annexes et l'énoncé, c'est difficile de trouver l'erreur.

    Cependant l'erreur indique que tu essaie d'atteindre un élément de tableau dont l'indice est plus grand que la taille du tableau. Par exemple
    Code :
    1
    2
    L:=[a,b,c,d,e];
    L[7];
    te donnera la même erreur.

    Il se peut aussi que tu essaies d'utiliser un indic non entier.

    Tu devrais ajouter dans ton algorithme l'affichage à chaque tour de boucle des indices que tu t'apprêtes à utiliser ainsi que la taille du tableau. Cela te permettra peut-être de trouver l'erreur.
    Mon projet : Devilsai

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •