Chromosomes

Fermé
sweetwink Messages postés 77 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 13 janvier 2009 - 23 nov. 2008 à 20:16
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 nov. 2008 à 23:45
Bonjour,
si jamais j'ai dix chromosomes en forme de tableau et je dois former aléatoirement 5 couples comment je fai
            
                

8 réponses

sweetwink Messages postés 77 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 13 janvier 2009 6
23 nov. 2008 à 20:54
si jamais j'ai dix chromosomes en forme de tableau et je dois former aléatoirement 5 couples comment je fai et pui je doi choisir pour chaque couple1 indice aléatoire qu'apartir duqel on fait le croisement de ces derniers
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
23 nov. 2008 à 22:29
Salut,
Eh bien, je ne vois pas la difficulté.
Tu fais ton tableau. Tu initialises deux nombres aléatoires appartenant à l'intervalle défini par la taille de ton tableau.
Et hop tu as une paire (peut-être vérifier une condition, mais j'ai pas bien compris l'histoire du croisement).
Et tu fais une petite boucle.
Je te laisse mettre le début de ton code, et je te corrige ça ;)
Cdlt
0
sweetwink Messages postés 77 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 13 janvier 2009 6
23 nov. 2008 à 22:48
j vé téxpliquer le programme :
jé 10 chromosomes je doi choisir5 couples au hasard(des parents)
pui je tire aléatoirement une position commune aux 2parents et apartir de cette position on échange les deux sous chaines terminales de chakun de ces deux chromosomes ce qui produit deux enfants ;;;;;;;;;;;jéspére que tu ma compri et pour le code que tu va m le corrigé alors la jé okune idéécomment je doi commencé,,,,,,,,,,,,,,aide moi stp
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
23 nov. 2008 à 22:58
J'ose espérer que ton code ne contiendra pas les mêmes types d'erreurs que je t'ai signalé plusieurs fois, sinon ma motivation va en prendre un coup pour t'aider ;).
Et non je comprends toujours pas entièrement.
Enfin, d'après le peu que je comprends, tu as besoin d'une structure Chromosome qui va contenir toutes les informations. Ensuite tu fais un tableau de Chromosomes. Tu tires au hasard une paire de chromosome. Tu crées deux chromosomes qui vont contenir les informations nécessaires stockées dans les parents.
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sweetwink Messages postés 77 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 13 janvier 2009 6
23 nov. 2008 à 23:04
voila,,,,,,,,,,,alors comment choisir ces pairs o hasard et comment choisir 1 seul indice pour chak couple ossi aléatoirement,,,,,,et je t'agasseré plu ;;promi
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
23 nov. 2008 à 23:10
Tu ne m'agaces pas ;).
Pour choisir ces pairs au hasard, tout simplement un coup de rand() (man rand te donnera toutes les informations nécessaires à son utilisation. Par contre c'est vrai que si tu veux que tous les nombres aléatoires soient différentes, c'est plus embêtant et délicat. Pour ça, tu fais un tableau qui contient 1, 2, 3, 4, ..., 10 (tous les indices des chromosomes).
Et tu mélanges le tableau. Pour mélanger le tableau, c'est pas dur. Tu prends deux indices aléatoires et tu échanges les cases. Et tu réitères l'opération 5 fois environ. Et après t'as plus qu'à prendre les premiers nombres du tableau qui seront tous différents.
Cdlt
0
sweetwink Messages postés 77 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 13 janvier 2009 6
23 nov. 2008 à 23:23
le probléme c'est que jé compri ce que je doi fére mai j'arrive pa appliquer peu tu me guider
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
23 nov. 2008 à 23:45
typedef Chromosome Chromosome;
struct Chromosome{
     char nom[50];
}

Chromosome nouvChromosome(){
        Chromosome ch;
         strncpy(ch.nom,"...",sizeof(ch.nom));
         ...
          return tab;
}

int main(void){
   Chromosome tab[10];
   srand(time(NULL));
    for(int i=0;i<10;i++){
        tab[i]=nouvChromosome();
    int nb;
     nb=rand()/RAND_MAX*10;
      ...
}

Par exemple, tu peux te servir de ça. Mais comme je n'ai pas entièrement compris ton problème je peux pas être plus précis. Et puis, faut pas que je fasse ton devoir à ta place ;).
J'espère que ça t'aidera quand même.
Cdlt
0