Problème dans une fonction en Langage C
Fermé
Hamid
-
4 mai 2007 à 00:06
khalmen22 Messages postés 4 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 24 mai 2008 - 24 mai 2008 à 21:32
khalmen22 Messages postés 4 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 24 mai 2008 - 24 mai 2008 à 21:32
A voir également:
- Problème dans une fonction en Langage C
- Fonction si et - Guide
- Langage ascii - Guide
- Langage binaire - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer dans word - Guide
4 réponses
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
4 mai 2007 à 10:17
4 mai 2007 à 10:17
Salut,
Essaye en remplaçant
Essaye en remplaçant
nomListe[i]=malloc(length);par
nomListe[i]=(char *)malloc(length);
Je vois quelques incohérences :
- Tu te fis d'avantage à ta variable globale nb_Adher qu'au fichier ?
: for (i=0; i<nb_adher; i++)
Tu risque d'avoir des plantage en cas de fichier trop court.
Un bon while(!feof(fic)) me semble plus sur, avec un compte complet des adher ( strcpy(nomListe[adher++], nom); )
Je vois aussi un gros problème dans ton parcours pour la suppression :
tu fait nb_Adher-- hors la boucle dans laquelle tu es pour faire le parcours de ton tableau s'arrete à i< nb_adher
Tu ne parcours donc pas tout ton tableau : tu ratte n éléments, n étant égal au nombre d'éléments supprimés ( a moins que ta fonction de suppression " remove(nom_sup); " ne décale tout les éléments.
Je pense que tu doit avoir une variable renseignée au moment de la lecture du fichier pour te donner le nombre max de ton tableau (Nb_Max), parcourir i < nb_Max, faire tes suppressions et mettre NULL là où tu supprime. Enfin pour la réécriture : parcourir i<NB_Max, et si !=NULL ecrire et fair Nb_Adhérent++, pour savoir à la fin combien tu a d'adhérents.
S
- Tu te fis d'avantage à ta variable globale nb_Adher qu'au fichier ?
: for (i=0; i<nb_adher; i++)
Tu risque d'avoir des plantage en cas de fichier trop court.
Un bon while(!feof(fic)) me semble plus sur, avec un compte complet des adher ( strcpy(nomListe[adher++], nom); )
Je vois aussi un gros problème dans ton parcours pour la suppression :
tu fait nb_Adher-- hors la boucle dans laquelle tu es pour faire le parcours de ton tableau s'arrete à i< nb_adher
Tu ne parcours donc pas tout ton tableau : tu ratte n éléments, n étant égal au nombre d'éléments supprimés ( a moins que ta fonction de suppression " remove(nom_sup); " ne décale tout les éléments.
Je pense que tu doit avoir une variable renseignée au moment de la lecture du fichier pour te donner le nombre max de ton tableau (Nb_Max), parcourir i < nb_Max, faire tes suppressions et mettre NULL là où tu supprime. Enfin pour la réécriture : parcourir i<NB_Max, et si !=NULL ecrire et fair Nb_Adhérent++, pour savoir à la fin combien tu a d'adhérents.
S
khalmen22
Messages postés
4
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
23 mai 2008 à 13:47
23 mai 2008 à 13:47
je suis nouveau dans langage C et j'ai un exercice un peu difficile voulez-vous m'aider pliiiiiize
voila l'exrcice:
ecrire un progarmme qui affiche les termes de la suite suivante:
x0=8
Xn+1=(3*Xn+5)%17
1-tester votre progarmme.les 4 premoers termes sont 12.7.9.15.
2-modifier votre progarmme pour qu'il puisse sffiche les N premiers termes de la suite,N est un entier saisit au clavier.
3-déterminer la plus petite et la plus grand valeur de la suite ainsi que leurs indices.
4-détermine la moyenne des N premires de la suite.
et merci j'attend vous réponce et merci.
voila l'exrcice:
ecrire un progarmme qui affiche les termes de la suite suivante:
x0=8
Xn+1=(3*Xn+5)%17
1-tester votre progarmme.les 4 premoers termes sont 12.7.9.15.
2-modifier votre progarmme pour qu'il puisse sffiche les N premiers termes de la suite,N est un entier saisit au clavier.
3-déterminer la plus petite et la plus grand valeur de la suite ainsi que leurs indices.
4-détermine la moyenne des N premires de la suite.
et merci j'attend vous réponce et merci.
khalmen22
Messages postés
4
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
24 mai 2008 à 21:32
24 mai 2008 à 21:32
ou est vous j'attend vous réponce a ce exe.