Programme en C sympa

cs_doudou0088 Messages postés 12 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 5 juin 2009 - 21 nov. 2007 à 19:37
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 - 22 nov. 2007 à 17:02
Bonjour,
Je dois faire un programme en C et j'aurais besoin d'explication et d'aide. Je dois créer un individu.Un individu étant une Liste chaînée de 8 Bit (Chaque Bit est un élément).
Je voudrais savoir si la définition de mes structures et de ma liste chainée et bonne?
Ansi que vous m'aidiez pour l'initialisation d'un individu. J'ai fait la fonction mais je n'arrive pas à changé de bit dans ma liste chainée. Merci

typedef struct elm{
        Bit bit;
        struct Individu *next;
        }element;
        
typedef struct individu {
        element *bitIndiv;
        struct individu *next;
        }Individu;
       
typedef Individu * List;

List init_individu(List l)
{
    // On crée un nouvel individu
    List newIndiv;
    newIndiv=(List)malloc(sizeof(Individu));
    // On assigne les valeur au nouvel individu
    int i;
    srand(time(NULL));
    for(i=0;i<8;i++)
    {
        newIndiv->bitIndiv = (int) ((float) rand() / RAND_MAX * 2);
        //On assigne l'adresse de l'élément suivant au nouvel élément
        newIndiv=newIndiv->next;
    }
   
    return newIndiv;
}

1 réponse

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
22 nov. 2007 à 17:02
Salut,
Je ne comprends pas trop les liens entre les structures element et individu?
Tu dis qu'un individu est une liste chainée d'élements. Or, dans ta structure element, tu mets un lien vers l'individu suivant. Ce ne serait plutôt l'element suivant?
De plus, dans ta boucle, tu oublies des allocations: genre, tu n'alloues pas le membre bitIndiv. Du coup, ça ne doit pas marcher ton affaire.

Tu regardes et tu nous tiens au courant?

@+

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
0
Rejoignez-nous