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 :

arbre généalogique en C


Sujet :

C

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1
    Par défaut arbre généalogique en C
    Bonjour, nous devons créer un arbre généalogique en C++ à l'aide d'arbre n aire ! nous sommes coincés !
    nous avons créé la structure, la fonction créelem, la fonction afficher mais impossible de créer la fonction ajouter et rechercher (juste à partir du nom et du prénom). Nous cherchons pas quelque chose de compliquer ! on comprend les arbres binaires mais le parcours des arbres n aire est totalement différent.
    Pouvez nous aider?merci d'avance

    Voici le début de notre programme

    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
    typedef struct el*pel;
    typedef struct el{
     
    	char nom[50];
    	char prenom[50]
    	int date_de_naissance[3];
    	pel noeud[M_NOEUD];
     
    }tel;
     
    pel creelem(){
     
    	pel aux=(pel)malloc(sizeof(tel);
    	printf("entrer le nom de la personne que vous voulez ajouter \n");
    	gets(aux->nom);
    	printf("entrer le prénom de la personne que vous voulez ajouter \n");
    	gets(aux->prenom);
    	printf("entrer la date de naissance de cette personne \n");
    	printf("\n");
    	printf("quel est le jour de naissance de cette personne ? \n");
    	scanf("%i",&aux->date_de_naissance[1]);
    	printf("quel est le mois de naissance de cette personne ? \n");
    	scanf("%i",&aux->date_de_naissance[2]);
    	printf("quel est l'année de naissance de cette personne ? \n");
    	scanf("%i",&aux->date_de_naissance[3]);
    	for(i=0;i<M_NOEUD;i++)
    		aux->noeud[i]=NULL;
    	return aux;
    }
     
    void afficher(pel arbre){
    	int i;
    	if(a==NULL)
    		printf("il n'y a personne dans l'arbre généalogique \n");
    	else{
    		printf("la personne s'appelle %s %s,elle est néée le %i / %i / %i \n",arbre->nom,arbre->prenom,arbre->date_de_naissance[1],arbre->date_de_naissance[2],arbre->date_de_naissance[3]);
    		printf("\n");
    		for(i=0;i<M_NOEUD;i++){
    			if(arbre->noeud[i]!=NULL)
    					afficher(a->noeud[i]);
    		}
    	}
    }
     
    pel inserer
     
    pel rechercher 
     
    main

  2. #2
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Y'a pas une once de C++ là dedans. Je déplace dans le forum C.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 450
    Par défaut
    Bonjour,

    Si c'est un arbre généalogique pour individus sexués tels que les hommes et femmes, un arbre binaire suffit.

    C'est une bonne idée d'avoir créé une structure el qui contient toutes les caractéristiques d'une personne. Mais ces personnes ont quelque chose de plus qui les caractérisent : des parents ! Et ces parents sont des personnes eux-aussi, donc des individus de type struct el.

    Il faut donc ajouter deux champs à ta structure : un champ « père » et un champ « mère », tous deux des pointeurs vers d'autre el. Plus précisément : vers d'autres nœuds de l'arbre. Et, à dire vrai, c'est parce que les individus se référencent entre eux de cette façon qu'un arbre va être matérialisé.

Discussions similaires

  1. arbre généalogique D4
    Par m.nico dans le forum Delphi
    Réponses: 6
    Dernier message: 23/03/2007, 22h13
  2. Réponses: 10
    Dernier message: 06/01/2007, 23h42
  3. Recherche dans un arbre généalogique en C++
    Par alcachofa dans le forum C++
    Réponses: 2
    Dernier message: 26/11/2006, 12h46
  4. Réaliser un arbre généalogique
    Par Nessie dans le forum Access
    Réponses: 10
    Dernier message: 22/12/2005, 11h58
  5. [débutant] java2D pour arbre généalogique
    Par pingoui dans le forum 2D
    Réponses: 4
    Dernier message: 16/11/2004, 13h30

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