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 :

Problème avec les listes chaînées


Sujet :

C

  1. #21
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Citation Envoyé par yous18 Voir le message
    oui j'ai déja lu ton lien ... mais je crois que tu me comprend pas ... je suis pas un pro .... je savoir théoriquement comment ça se passe
    Si tu ne comprends pas, n'hésite pas à poser des questions précises!

    Thierry

  2. #22
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    merci .... je crois mnt que j'ai compri
    dans ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    main.c:24: warning: comparison between signed and unsigned
    c'est quoi signed and unsigned ?

  3. #23
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par yous18 Voir le message
    merci .... je crois mnt que j'ai compri
    Alors montre le code qui monre que tu as compris.
    dans ce code
    Quel code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    main.c:24: warning: comparison between signed and unsigned
    c'est quoi signed and unsigned ?
    C'est un qualificateur de type. La plage des entiers unsigned va de 0 à <type>_MAX. La plage des signed va de <type>_MIN a <type>_MAX. <type>_MIN est < 0.

    Les valeurs des <type>_MIN et <type>_MAX sont définies dans <limits.h>. Elles dépendent évidemment de l'implémentation.

    Quand on compare des entiers de types différents, il peut y avoir un comportement non portable.

  4. #24
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Alors montre le code qui monre que tu as compris.
    tout est dans ta reponse #19

  5. #25
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    salut les amis
    je voulais améliorer mon code en ajoutant un élement au milieu de la liste
    et j'ai fai le code suivant :
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
     
     
    typedef struct yous
    {
            int n ;
            struct yous *suiv ;
    } yous ;
     
    yous *fin , *debut ,*f,*k;
     
    void inser(int a)
    {
         yous *p;
         p=(yous*)malloc(sizeof(yous));
     
         p->n = a ;
         p->suiv = NULL ;
         fin->suiv = p ;
    }  
     
    void aff(yous *q)
    {  
     
        while(q!= NULL)
        {
        printf("%d\n",q->n);
        q=q->suiv ;
        } 
    }
     
     
    main()
    {
        int i,a,j;
     
        debut=(yous*)malloc(sizeof(yous));
        f=(yous*)malloc(sizeof(yous));
        k=(yous*)malloc(sizeof(yous));
     
     
        debut->n = 1 ;
        //debut->suiv = NULL ;
     
        fin = debut ;
        i=0 ;
        do 
        {   
        scanf("%d",&a) ;
        inser(a);
        fin=fin->suiv ;
        i++ ;
        }
        while ( i!=4 );
     
        printf("\n");
     
        aff(debut);
        printf("\n");
     
        k=debut ;
        while(j!=2)
        {
                  k=k->suiv ;
                  j++;
        }
        f->n=12;
        f->suiv=k->suiv;
        k->suiv=f;
     
        aff(debut);         
    getch();
    }
    mais le .exe plante avant le 2éme affichage
    alors c'est quoi le probléme ?
    une autre chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        debut->n = 1 ;
        //debut->suiv = NULL ;
    avant de supprimer la 2éme ligne le .exe faisait une boucle infine des chiffres ...bref un comportement indefini .... pourquoi ?

  6. #26
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Tu joues avec une variable globale (fin), mais tu oublies de la mettre à jour dans ta fonction d'ajout.
    Et il y a sûrement aussi d'autres erreurs, je n'ai pas cherché beaucoup plus loin.

    PS: Retire le cast de ton malloc() il est inutile et déconseillé en C depuis l'errata du K&R2.

  7. #27
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    non la fonction ajout ou plutot inser marche très bien
    le problème est ici lorsque je voulai ajouter 12
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    k=debut ;
        while(j!=2)
        {
                  k=k->suiv ;
                  j++;
        }
        f->n=12;
        f->suiv=k->suiv;
        k->suiv=f;
     
        aff(debut);
    de quel malloc tu parle ? car elle trés util sinon le programme plante .

  8. #28
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Citation Envoyé par yous18 Voir le message
    non la fonction ajout ou plutot inser marche très bien
    Et moi je dis qu'elle est bugguée, car après un inser(), la structure sur laquelle pointe fin n'est plus la fin de la liste.
    de quel malloc tu parle ? car elle trés util sinon le programme plante .
    Je ne parle pas de retirer un malloc(), je parle de retirer les casts de tous les malloc(). Encore que, en regardant ton main(), je me dis qu'il doit quand même y avoir des malloc() en trop.

    En plus, avec tes noms de variables à une lettre, on dirait que tu fais exprès de rentre ton code peu lisible.

  9. #29
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Et moi je dis qu'elle est bugguée, car après un inser(), la structure sur laquelle pointe fin n'est plus la fin de la liste.
    .
    comment ça je t'ai pas compri ... car elle travaille tres bien avec moi la fonction inser ...
    je crois que tu n'a pas compri car inser elle ajoute les élements dans la liste qui est vide ... mais moi je voulai ajouter juste un element au milieu de la liste c'est pour ça j'ai mi le code suivant (pas de fonction) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        k=debut ;
        while(j!=2)
        {
                  k=k->suiv ;
                  j++;
        }
        f->n=12;
        f->suiv=k->suiv;
        k->suiv=f;
     
        aff(debut);
    P.S je sai qu'il y a une fonction pour ajouter les element mais moi je suis encors un debutant et je voulai savoir si mon code est juste...
    Citation Envoyé par Médinoc Voir le message
    je parle de retirer les casts ? de tous les malloc(). Encore que, en regardant ton main(), je me dis qu'il doit quand même y avoir des malloc() en trop. ou ?
    .
    tu peux m'xpliquer trop quand elle sert à rien ?

  10. #30
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    En fait, je peux te confirmer qu'inser() était bugguée. Mais tu contournais le bug en modifiant fin en dehors de inser(), dans ton main(). C'est dans la fonction inser() qu'il aurait fallu le faire.

    Voici ton code corrigé (sauf pour la fin du main()) et commenté:
    Code C : 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    #include<stdio.h>
    #include<stdlib.h>
    #include<assert.h> 
     
    typedef struct yous
    {
    	int n ;
    	struct yous *suiv ;
    } yous ;
     
    /* Utiliser une structure spécifique pour la liste */
    typedef struct liste
    {
    	yous *pPremier;
    	yous *pDernier;
    } liste;
     
    /* On vire les variables globales */
     
    /* Prend la liste en paramètre.
       Retourne 0 si OK, -1 si erreur. */
    int InserPremier(liste *pListe, int val)
    {
    	yous *pNouveau = NULL;
    	assert(pListe != NULL);
     
    	/* Crée */
    	pNouveau = malloc(sizeof(*pNouveau));
    	if(pNouveau == NULL)
    		return -1;
    	pNouveau->n = val;
    	pNouveau->suiv = NULL;
     
    	/* Insère */
    	if(pListe->pPremier==NULL)
    	{
    		/* La liste est vide */
    		pListe->pPremier = pNouveau;
    		pListe->pDernier = pNouveau;
    	}
    	else
    	{
    		/* Insère en tête de liste */
    		pNouveau->suiv = pListe->pPremier;
    		pListe->pPremier = pNouveau;
    		assert(pListe->pDernier != NULL);
    	}
    	return 0;
    }  
     
    /* Prend la liste en paramètre.
       Retourne 0 si OK, -1 si erreur. */
    int AjoutDernier(liste *pListe, int val)
    {
    	yous *pNouveau = NULL;
    	assert(pListe != NULL);
     
    	/* Crée */
    	pNouveau = malloc(sizeof(*pNouveau));
    	if(pNouveau == NULL)
    		return -1;
    	pNouveau->n = val;
    	pNouveau->suiv = NULL;
     
    	/* Ajoute */
    	if(pListe->pPremier==NULL)
    	{
    		/* La liste est vide */
    		pListe->pPremier = pNouveau;
    		pListe->pDernier = pNouveau;
    	}
    	else
    	{
    		/* Ajoute en fin de liste */
    		assert(pListe->pDernier != NULL);
    		assert(pListe->pDernier->suiv == NULL);
    		pListe->pDernier->suiv = pNouveau;
    		pListe->pDernier = pNouveau;
    	}
    	return 0;
    }  
     
    void Affiche(liste *pListe)
    {  
    	yous *pCourant = NULL;
    	assert(pListe != NULL);
     
    	pCourant = pListe->pPremier;
    	while(pCourant!= NULL)
    	{
    		printf("%d\n", pCourant->n);
    		pCourant = pCourant->suiv ;
    	} 
    }
     
     
    int main(void)
    {
    	/* Pas besoin d'allocation ici */
    	liste uneListe = {NULL, NULL}; /* Initialiser à NULL: Indispensable! */
     
    	int i=0;
    	do 
    	{
    		int a;
    		printf("Entrer un nombre : ");
    		fflush(stdout); /* Pour que le printf() marche toujous */
    		scanf("%d", &a) ;
    		AjoutDernier(&uneListe, a);
    		i++ ;
    	}
    	while ( i!=4 );
     
    	printf("\n");
     
    	Affiche(&uneListe);
    	printf("\n");
     
    	/* ?? Je ne comprends pas exactement ce que tu cherches à faire ici.
    	   Tes noms de variables sont trop obscurs...
    	k=debut ;
    	while(j!=2)
    	{
    		k=k->suiv ;
    		j++;
    	}
    	f->n=12;
    	f->suiv=k->suiv;
    	k->suiv=f;*/
     
    	/*Affiche(&uneListe);*/
    	/*getch();*/
    	return 0;
    }

  11. #31
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    merci ...mais pour mon code pour l'ajout au milieu il y a pas quelq'un qui a la solution ?

  12. #32
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Pour l'ajout au milieu: Tu obtiens un pointeur sur le second élement, puis du utilises une fonction pour insérer juste après:

    Code C : 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
    /* Récupère l'élément d'index demandé ou retourne NULL.
       Le premier élément a l'index zéro. */
    yous * GetChainon(liste *pListe, size_t index)
    {
    	yous *pCourant = NULL;
    	assert(pListe != NULL);
     
    	pCourant = pListe->pPremier;
    	while(index)
    	{
    		if(pCourant==NULL)
    			return NULL;
    		pCourant = pCourant->suiv;
    		index--;
    	}
    	return pCourant;
    }
     
    int InserApres(liste *pListe, yous *pApresQui, int val)
    {
    	yous *pNouveau = NULL;
    	assert(pListe != NULL);
    	assert(pListe->pPremier != NULL);
    	assert(pApresQui != NULL);
     
    	/* Crée */
    	pNouveau = malloc(sizeof(*pNouveau));
    	if(pNouveau == NULL)
    		return -1;
    	pNouveau->n = val;
    	pNouveau->suiv = NULL;
     
    	/* Insere */
    	pNouveau->suiv = pApresQui->suiv;
    	pApresQui->suiv = pNouveau;
    	/* Ajuste si dernier*/
    	if(pListe->pDernier==pApresQui)
    	{
    		/* C'est en fin de liste qu'on ajoute */
    		pListe->pDernier = pNouveau;
    	}
    	return 0;
    }
    Code C : 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
    int main(void)
    {
    	/* Création liste */
    	liste uneListe = {NULL, NULL}; /* Initialiser à NULL: Indispensable! */
     
    	int i=0;
    	do 
    	{
    		int a;
    		printf("Entrer un nombre : ");
    		fflush(stdout); /* Pour que le printf() marche toujous */
    		scanf("%d", &a) ;
    		AjoutDernier(&uneListe, a);
    		i++ ;
    	}
    	while ( i!=4 );
     
    	printf("\n");
     
    	Affiche(&uneListe);
    	printf("\n");
     
    	/* Insertion au milieu */
    	{
    		yous *pAvantMilieu = GetChainon(&uneListe, 1);
    		assert(pAvantMilieu != NULL);
    		InserApres(&uneListe, pAvantMilieu, 12);
    	}
    	Affiche(&uneListe);
    	return 0;
    }
    Note: Je n'ai pas testé ce code.

  13. #33
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    pour ce assert.h quel est son role ?

  14. #34
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par yous18 Voir le message
    pour ce assert.h quel est son role ?
    http://emmanuel-delahaye.developpez....tes.htm#assert

  15. #35
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Ici, ce sont les erreurs d'utilisation des fonctions que je teste (sauf pour l'assertion dans le main()) : Je m'assure qu'on n'appelle pas les fonctions avec un pointeur nul ou une liste incorrecte.

  16. #36
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    merci .. mais pour mon code je l'ai simplifié vous pouvez me dire ou je me trompe
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
     
     
    typedef struct yous
    {
            int n ;
            struct yous *suiv ;
    } yous ;
     
    yous *fin , *debut ,*f,*k;
     
    void inser(int a)
    {
         yous *p;
         p=(yous*)malloc(sizeof(yous));
     
         p->n = a ;
         p->suiv = NULL ;
         fin->suiv = p ;
    }  
     
    void aff(yous *q)
    {  
     
        while(q!= NULL)
        {
        printf("%d\n",q->n);
        q=q->suiv ;
        } 
    }
     
     
    int main(void)
    {
        int i,a,j;
     
        debut=(yous*)malloc(sizeof(yous));
        f=(yous*)malloc(sizeof(yous));
     
     
     
        debut->n = 1 ;
        //debut->suiv = NULL ;
     
        fin = debut ;
        i=0 ;
        do 
        {   
        scanf("%d",&a) ;
        inser(a);
        fin=fin->suiv ;
        i++ ;
        }
        while ( i!=4 );
     
        printf("\n");
     
        aff(debut);
        printf("\n");
     
        k=debut ;/* k est le maillon apres lequel je vais inserer le maillon f */
        while(j!=2)
        {
                  k=k->suiv ;
                  j++;
        }
        f->n=12;
        f->suiv=NULL;
        f->suiv=k->suiv;
     
        k->suiv=f;
     
        aff(debut);   
     
    getch();
    return 0;
    }
    car j'ai suivi les information deduit de cette photo

  17. #37
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Ce code "simplifié" est reste trop en bordel pour moi. Essaie de faire des fonctions qui font une tâche précise et le font bien...

    Ta ligne fin=fin->suiv ; après l'appel à inser() devrait être DANS la fonction inser(), tu utilises trop de variables globales (f et k, les pointeurs au nom si évocateur , n'ont AUCUNE raison d'être globales), et tes malloc() sont toujours castés alors que ça ne sert à rien.

    Remarques en bref:
    • Tu devrais retarder l'allocation de f et ne la faire qu'à la fin, car tu n'en a pas besoin plus tôt. Initialise f à NULL.
    • Si tu tentes de suivre le schéma à la lettre, c'est mal parti: Le schéma part d'une liste de trois et y ajoute un élément, ton code part d'une liste de cinq...

  18. #38
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Ta ligne fin=fin->suiv ; après l'appel à inser() devrait être DANS la fonction inser()
    mais ce je fais ça fin va se modifier juste en fonction courante et va se detruire après !!!

  19. #39
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Je rappelle que fin est une variable globale...

Discussions similaires

  1. problème avec les listes chaînées : suite
    Par ChPr dans le forum Langage
    Réponses: 11
    Dernier message: 18/09/2013, 10h08
  2. problème avec les listes chaînées.
    Par ChPr dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2013, 15h54
  3. Problème avec les listes chaînées
    Par Kawada dans le forum C
    Réponses: 2
    Dernier message: 06/05/2012, 17h20
  4. [TP 7] Problème avec les listes chaînées (error 202)
    Par thelinekioubeur dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/12/2006, 23h15

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