Programme en C sympa

Signaler
Messages postés
12
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
5 juin 2009
-
Messages postés
15151
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
14 octobre 2021
-
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

Messages postés
15151
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
14 octobre 2021
99
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