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

C Discussion :

automate non déterministe.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Par défaut automate non déterministe.
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    int nbr etat,nbr alph,tab *fin;
    char *mot;
     
    typedef struct etats { 
                                     int etat;
                                     struct etats*next;
                                 }ptr; 
    ptr*mat[nbr etat][nbr alph];
     ptr*pt=NULL; 
    void chaine()
    {
    printf("entrez %s que vous voulez tester: ", mot);
     scanf( "%s",mot);
    }
     
    /*creation d'une liste chainée==etats de lautomate qui sera dérerministe*/
     
    ptr *creer() 
    {
      int q;
      ptr *pt;
     do
    {printf("entrer un %d: ",q);
      scanf( "%d",&q);
     
    if(pt==NULL) return NULL;
     
    else
    {
     pt=(ptr*)malloc(sizeof(ptr));   
     
    pt->etat=q;
     
    pt->next=creer();
    }
    return (pt);
    }
    while(q!=-1)}}
     
    void automate()
    {int i,j;
     
    printf("entrer nbr etats: \n");
    scanf( "%d",&nbr etats);
    printf("entrer nbr alph: \n");
    scanf( "%d",&nbr alph);
    printf("entrer -1 si la transition n'execute pas\n ");
    for(i=0;i<nbr etats;i++)
    { for(j=0;j<nbr alph;j++)
      {printf("[%d][%c]= : \n",i,convertis(j));
       creer()= mat[i][j];}}}
    je veux savoire les erreur que j'ai fait merci ."programme n'est pas complet "

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par naniate Voir le message
    je veux savoire les erreur que j'ai fait
    On est pas tes esclaves...

  3. #3
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut
    Bonjour naniate,

    Je préfère ne pas penser que votre message est un jeu, par exemple de voir jusqu'où on va vous répondre. Peut-être, sans doute, êtes-vous un étudiant mal outillé. A mon sens, ceci ne peut attirer que la sympathie et le désir de vous aider. Mais encore faudrait-il que vous vous en ouvriez plutôt que de faire dans le très frugal.
    Vous postez un code déjà long qui manifestement n'a jamais connu le compilateur. Il y aurait à commenter sur les #include, mais déjà à la cinquième ligne apparaissent de gros problèmes, qu'un compilateur vous aurait immédiatement signalés.
    Je ne connais pas votre situation, dans laquelle semble-t-il vous avez un accès internet mais pas d'outil à disposition. Un devoir à rendre rapidement et juste un cyber-café ou un poste de travail mutualisé ?
    Si vous ne savez pas comment compiler, réglez d'abord ce problème, en vous faisant éventuellement aider ici. Si vous ne pouvez rien installer, il vous reste des solutions en ligne. Par exemple pour le compilateur: Online C compiler ou directement DJGPP. Comeau est peut-être trop moustachu pour l'instant.
    Il faudrait également penser à formatter votre code. En 2007, même, surtout, le débutant peut utiliser les services d'outils évolués. Vous verrez ainsi immédiatement avant même compilation des problèmes évidents, par l'indentation par exemple pour les parenthèses, accolades ou crochets non équilibrés. C'est plus dur à trouver en ligne, il faut essayer dans Google avec "online code formatter", ou "online code beautifier", ou... Sachez que à défaut de C, d'autres langages fonctionneront pas si mal, C++ bien sûr, mais également C#, sans doute Java, Javascript, Php... Celui-ci donne du HTML, mais vous pouvez copier-coller dans le preview. Vous avez également prettyprinter, qui chez moi pose de petits soucis de charset. D'autres ont peut-être de meilleurs liens à proposer.
    Une derniere remarque: ne le prenez pas mal, mais je trouve votre programme bien compliqué, alors que je ne suis pas certain que dans votre apprentissage, vous ayez passé l'étape du "Hello, World"...

    Bon courage,

    Pierre

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Par défaut
    Citation Envoyé par Pierre Maurette Voir le message
    Si vous ne pouvez rien installer, il vous reste des solutions en ligne. Par exemple pour le compilateur: Online C compiler ou directement DJGPP. Comeau est peut-être trop moustachu pour l'instant.
    C'est d'un intérêt assez limité (ou bien ça créé un exécutable Windows) ou bien ça compile (commeau) mais on voit pas l'affichage (pas de link, bon je vois pas l'intérêt).





    Citation Envoyé par Pierre Maurette Voir le message
    Celui-ci donne du HTML, mais vous pouvez copier-coller dans le preview.
    Pas mal du tout.


    Citation Envoyé par Pierre Maurette Voir le message
    Vous avez également prettyprinter, qui chez moi pose de petits soucis de charset.
    En effet.


    Citation Envoyé par Pierre Maurette Voir le message
    D'autres ont peut-être de meilleurs liens à proposer.
    Mieux je ne sais pas mais voici :

  5. #5
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut
    Citation Envoyé par c-candide Voir le message
    C'est d'un intérêt assez limité (ou bien ça créé un exécutable Windows) ou bien ça compile (commeau) mais on voit pas l'affichage (pas de link, bon je vois pas l'intérêt).
    C'est sûr que si vous l'utilisez avec le "Helloworld" de l'exemple proposé, ça ne vous dira pas grand-chose. Mais avec le code de naniate, vous obtenez:
    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
    /tmp/http.2135.c:5: parse error before `etat'
    cc1: warnings being treated as errors
    /tmp/http.2135.c:5: warning: type defaults to `int' in declaration of `etat'
    /tmp/http.2135.c:5: warning: type defaults to `int' in declaration of `nbr'
    /tmp/http.2135.c:5: parse error before `alph'
    /tmp/http.2135.c:11: parse error before `etat'
    /tmp/http.2135.c: In function `creer':
    /tmp/http.2135.c:39: parse error before `}'
    /tmp/http.2135.c: In function `automate':
    /tmp/http.2135.c:45: parse error before `etats'
    /tmp/http.2135.c:47: parse error before `alph'
    /tmp/http.2135.c:49: parse error before `etats'
    /tmp/http.2135.c:49: parse error before `)'
    /tmp/http.2135.c:50: parse error before `alph'
    /tmp/http.2135.c:50: parse error before `)'
    /tmp/http.2135.c:52: `mat' undeclared (first use in this function)
    /tmp/http.2135.c:52: (Each undeclared identifier is reported only once
    /tmp/http.2135.c:52: for each function it appears in.)
    /tmp/http.2135.c: At top level:
    /tmp/http.2135.c:52: parse error before `}'
    /tmp/http.2135.c: In function `creer':
    /tmp/http.2135.c:22: warning: `pt' might be used uninitialized in this function
    Et autree chose avec Comeau
    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
    Your Comeau C/C++ test results are as follows:
     
    Comeau C/C++ 4.3.9 (Mar 27 2007 17:24:47) for ONLINE_EVALUATION_BETA1
    Copyright 1988-2007 Comeau Computing.  All rights reserved.
    MODE:strict errors C99 noC++0x_extensions
     
    "conio.h", line 1: catastrophic error: #error directive: conio.h
              is not a Standard C++ header, but an MS-Windows VC++ specific
              header.  Please read the instructions on what this interactive
              compiler will support
      #error conio.h is not a Standard C++ header, but an MS-Windows VC++ specific header.  Please read the instructions on what this interactive compiler will support
       ^
     
    1 catastrophic error detected in the compilation of "ComeauTest.c".
    Compilation terminated.
    (mais le but est différent).

Discussions similaires

  1. Automate fini non déterministe
    Par yonna dans le forum C
    Réponses: 11
    Dernier message: 01/11/2014, 10h02
  2. Réponses: 2
    Dernier message: 26/12/2013, 11h24
  3. Automate non ambigus et déterministes
    Par tonguim dans le forum Automation
    Réponses: 0
    Dernier message: 14/02/2011, 21h25
  4. Transformer un automate fini non déterministe en automate fini déterministe
    Par souheyeb dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 06/04/2008, 02h56
  5. automate fini non déterministe
    Par lastrecrue dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 14/11/2006, 11h30

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