Boucle de traitement

abdourasiz Messages postés 19 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 2 juillet 2011 - 2 juin 2008 à 12:53
Imedbenmiled Messages postés 12 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 2 juin 2008 - 2 juin 2008 à 20:01
Bonjour chers frères Codeurs,

Je viens humblement poser mon problème peut être que quelqu'un l'a déjà rencontré et trouvé solution.
J'ai besoin d'un algorithme ou un code qui me permettra de dénombrer le nombre de membres adhérants provenant d'un autre membre dans une chaine d'adhésion, sachant  que pour être membre, il faut faire enregistrer deux (02) adhérents obligatoirement; ni plus ni moins.
Exemple:
Si Paul fait entrer dans la chaine Jacque et Emile, et que ceux ci à leur tour apportent deux adhérants chacun, alors Paul a à son actif six (06) adhérants.
Si la chaine se poursuit, le code doit pouvoir nous permettre de déterminer le nombre d'adhérants lié à un membre quelconque de la chaine.
NB : Tout adhérant devient membre dès qu'il apporte deux autres adhérants ni plus ni moins.

Merci d'avance pour votre contribution
Cordialement Zizou

1 réponse

Imedbenmiled Messages postés 12 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 2 juin 2008
2 juin 2008 à 20:01
bonjour,
je suppose que vous avez un fichier ADHERANT(Adherant(unique),adherantpere,membre(O/N),NbreMembre,...)
on va ajouter un autre fichier ADHERANT2, qui est qoit une copie physique du premier
ou une 2eme occcurence qui parcours le meme fichier avec un piointeur différént.
Et un 3eme fichier CHAINE(Adherantpere,adherantfils), qui est un fichichier intermidière, qu'on
vide à chque fois.
on va parcourir trois fois :
1- la prmière fois pour générer le fichier CHAINE
2- la 2eme fois pour determiner quelle sont les adherants membre
3- la 3eme fois pour detrminer le nombre de membre/membre
je vous ecrit l'algorithme du premier parcours

iterer
  lires(ADHERANT)
  si FDF(ADHERANT)
      sortir
  finsi
  si ADHERANT.adherantpere<>vide
     lired(ADHERANT2,ADHERANT.adherant)
     iterer
       CHAINE.Adherantpere=ADHERANT2.adherantpere

       CHAINE.adherantfils=ADHERANT.adherant
       ajouter(CHAINE)

      ADHINT=ADHERANT2.adherantpere
       lired(ADHERANT2,ADHINT)
       si ADHERANT2.adherantpere=vide

          sortir

       finsi
     finiterer
  finsi
fin iterer
***ADHINT est une variable intermidiere
0
Rejoignez-nous