Tri nom
sambio
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
bonjour,la boucle tourne qu'une seule fois
typedef struct eleve { char nom[ligne][colone]; int age; float moy; float note[3]; float rang; }eleve; void ajouter() { eleve individu[100]; int n,i; float som=0; printf("entrer le nombre delts:");scanf("%d",&n); for(i=0;i<n;i++) { printf("entrer le nom:");scanf("%s",&individu[i].nom); printf("entrer son age:");scanf("%d",&individu[i].age); printf("entrer ses note\n"); printf("\tmath:");scanf("%f",&individu[i].note[0]); printf("\tphy:");scanf("%f",&individu[i].note[1]); printf("\tinfo:");scanf("%f",&individu[i].note[2]); } affiche(individu,n); tri_nom(individu,n); affiche(individu,n); } void tri_nom(eleve tab[],int n) { int i,ok=1; eleve aux1[100]; while(ok==1) { ok=0; for(i=0;i<n;i++) { if(strcmp(tab[i].nom+i,tab[i+1].nom+i)>0) { aux1=tab[i]; tab[i]=tab[i+1]; tab[i+1]=aux1; ok=1; } } } }
A voir également:
- Tri nom
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Nom de compte steam exemple - Forum Jeux vidéo
- Changer nom iphone - Guide
- Nom animal - Télécharger - Études & Formations
1 réponse
Bonjour,
char nom[ligne][colone];
Pourquoi un tableau à deux dimensions ? Une seule suffit pour une chaîne de caractères.
scanf("%s",&individu[i].nom);
Pas de & devant le pointeur.
if(strcmp(tab[i].nom+i,tab[i+1].nom+i)>0)
Que veux tu faire avec "+i" ?
Merci d'utiliser la balise "code c" pour la prochaine fois.
Exemple :
<code c>ici tu mets ton code</code>
char nom[ligne][colone];
Pourquoi un tableau à deux dimensions ? Une seule suffit pour une chaîne de caractères.
scanf("%s",&individu[i].nom);
Pas de & devant le pointeur.
if(strcmp(tab[i].nom+i,tab[i+1].nom+i)>0)
Que veux tu faire avec "+i" ?
Merci d'utiliser la balise "code c" pour la prochaine fois.
Exemple :
<code c>ici tu mets ton code</code>
Je ne suis pas convaincu par ton explication de saisir et de trier.
Tu crées une structure Eleve qui a un nom. Un élève a un seul nom, pas plusieurs.
Donc, je mettrais plutôt : char nom[TAILLE]; avec #define TAILLE 250
Et là, il faut enlever le &.
Si tu veux un tableau qui contient tous les noms, créé une autre variable mais pas dans la structure.