Tri des chaines de caractére en c

Fermé
avenger10 Messages postés 2 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 2 mars 2013 - 2 mars 2013 à 15:20
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 mai 2013 à 14:19
Bonjour,


S.V.P vous pouvez m'aider pour ce probléme j'ai pas eu une solution juste un tout petit peu sans utiliser les fonctios

Ecrire un programme qui lit 10 mots et les mémorise dans un tableau de chaines de caractére.Trier les mots lexicographiquement en utilisant les fonctions strcmp et strcpy.

afficher le tableau trié.Utiliser la méthode de tri par séléction .
Sans utiliser les fonction !
A voir également:

2 réponses

Tasur Messages postés 2 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 8 mai 2013 4
8 mai 2013 à 12:50
Je suis dans le meme cas :3
Voilà mon code :
    int taille = 10, i=0, j=0;
    char charon2[10]={0};
    char liste_mot[10][10]={"Theo", "Alex", "Jules", "Cindy", "Florian", "Juliette", "Elea", "Louis", "Victoria"};
    printf("Fonction 2\n");
    for(i=0; i<taille; i++)
    {
        for(j=0; j<taille; j++)
        {
            if(strcmp(liste_mot[i],liste_mot[j])<0)
            {
                strcpy(charon2, liste_mot[i]);
                strcpy(liste_mot[i], liste_mot[j]);
                strcpy(liste_mot[j], charon);
            }
        }
    }
    for(i=0; i<taille; i++)
    {
        printf("%s", liste_mot[i]);
    }
4
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 8/05/2013 à 14:20
C'est pas exactement le même cas puisque ce n'est pas l'utilisateur qui choisit ses variables... Donc la prochaine fois, nouveau post :-).

char liste_mot[10][10]={"Theo", "Alex", "Jules", "Cindy", "Florian", "Juliette", "Elea", "Louis", "Victoria"};
Pourquoi créer un tableau avec 10 lignes alors que tu n'as mis que 9 éléments ? Surtout si tu mets rien dedans, la case contiendra une valeur bidon. Donc le tri risque de foirer.

strcpy(liste_mot[j], charon);
C'est pas charon, mais charon2. A la compilation, ça doit se voir facilement...

De plus, au lieu de te contenter de dire que ça ne marche pas, tu pourrais nous dire qu'est-ce qui ne fonctionne pas ?
A La compilation ? Si oui, quelles sont les erreurs ?
A l'exécution ? Un peu de description.
0