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 :

code source avec les graphes en C


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut code source avec les graphes en C
    Bonjour
    svp quelqu'un peut m'explique ce code source c'est un programme qui affiche si on peut tourner en rond dans une labyrinthe; ce programme est réalisé avec les graphes. puisque j'ai aucune idée sur les graphes j'aimerais bien qu'un personne m'explique les instructions de ce programme merci bcp.

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<conio.h>
     
     
    #define NBR_NOEUD 100
     
    short int noeudDejaVisite[NBR_NOEUD];
    int noeudAdjacent[NBR_NOEUD][NBR_NOEUD];
    short int indicesAdjacent[NBR_NOEUD];
    short int marqueur[NBR_NOEUD];
     
    int nbrNoeud,nbrArcs;
     
    void lireForet(){
    	int curArc;
       printf("entrez le nombre de chemins:");
       scanf("%d",&nbrArcs);
       printf("entrez le nombre d'intersections:");
       scanf("%d",&nbrNoeud);
       printf("entrez les divers chemins:\n");
       for(curArc=0;curArc<nbrArcs;curArc++)
       {
          int depart,arrivee;
          scanf("%d%d",&depart,&arrivee);
    	  noeudAdjacent[depart][indicesAdjacent[depart]++]   = arrivee;
       }
    }
     
    int verifieCycle(int cle)
    {
       int curNoeud;
       if( marqueur[cle] )
          return 1;
       if( noeudDejaVisite[cle] )
          return 0;
     
       noeudDejaVisite[cle] = marqueur[cle] = 1;
     
       for(curNoeud =0;curNoeud<indicesAdjacent[cle] ;curNoeud++)
          if( verifieCycle( noeudAdjacent[cle][curNoeud] ) )
             return 1;
     
       marqueur[cle] = 0;
       return 0;
    }
     
     
     
    int main(){
       int curNoeud;
       clrscr();
       lireForet();
       for(curNoeud=1;curNoeud<=nbrNoeud;curNoeud++)
          if( noeudDejaVisite[curNoeud] == 0 )
             if( verifieCycle(curNoeud) )
             {
                printf("OUI il y'a un cycle");
    			getch();
                return 0;
             }
       printf("NON il n'a pas de cycle");
     
     
       getch();
       return 0;
    }

  2. #2
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    svp aidez moi

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    1) verifieCycle est une fonction récursive: elle s'appelle elle-même. Toute fonction récursive doit avoir une condition de sortie sinon cela fait une boucle infinie.

    2) "ce programme est réalisé avec les graphes". Je ne sais pas ce que signifie un graphe.

    3) Il faut compiler ce programme et faire du pas à pas pour voir s'il fonctionne.

    4) Il faut poser des questions précises.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

Discussions similaires

  1. Problème avec les graphes en VB
    Par csmaf2002 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/03/2008, 22h44
  2. Problème avec les graphes
    Par Sly666 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 08/12/2006, 18h32
  3. Incompréhension d'un code source avec awk
    Par adilos708 dans le forum Linux
    Réponses: 1
    Dernier message: 20/04/2006, 20h10
  4. Pb avec code source "lister les images d'un dossier"
    Par Mimisator dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2005, 15h25

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