Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Tri par ordre alphabétique en C

mmdrame, le vendredi 4 novembre 2005 à 20:08:15
Bonjour! j'aimerais faire un programme qui fait le tri de données par ordre alphabétique. Les données sont des noms déjà insérés. Merci d'avance pour vos contributions!!!!
Répondre à mmdrame  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Djule, le vendredi 4 novembre 2005 à 21:13:54
Salut!!

Alors tu veux trier des noms se trouvant dans un fichier, est ce bien sa??

As-tu déja programmé en C?

Il faut que tu utilise les instructions en C pour lire dans un fichier.
FILE *f, fopen....
A première vue tu as plusieur possibilité pour créer tes instruction.
Je pense qu'il faut que tu stock tes noms dans des variable et que ensuite tu les compares en comparant le code ascii de leur diffèrente lettres.
Ensuite tu écris dans un nouveau fichier qui te récris tes variable en les classant par ordre alphabétique.
Voilà en "gros" les démarche a suivre.
Si tu as déja programmé en C cela ne devrait pas etre trop difficile.
Répondre à Djule

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
mmdrame, le dimanche 6 novembre 2005 à 16:25:53
Salut! merci pour ta contribution! Seulement j'aimerais faire le tri sans utiliser les fichiers! Je vais essayer avec le fonction strncmp après je vous tiens informer; je suis en maîtrise informatique, mais j'ai pas encore fait le C...
Répondre à mmdrame

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
océane, le dimanche 28 octobre 2007 à 11:49:40
Bonjour,
Je ne sais trier des noms par ordre alphabétiaque sur INUX open office org calcul.
Je ne suis pas une pro en informatique!
Est-ce-que quelqu'un peut me donner quelques conseils et me dire la marche à suivre?
D'avance merci
Répondre à océane

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
debutantEnC, le samedi 12 janvier 2008 à 15:58:04
bonjour, j'aimerais trier un tableau de structure comportant des noms par ordre alphabétique en C. Et le soucis c'est que j'ai pas le droit d'utiliser qsort. voici mon programme (il ne fonctionne pas je voudrais savoir pourquoi, et obtenir votre aide si possible):

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#define MAXN 30
#define MAX_etu 150

typedef struct etudiant {
char nom[MAXN];
char prenom[MAXN];
float med;
float final;
float tp;
}ETUDIANT;


void initialise(ETUDIANT *tab_etu, int nb_etu);


int recherchePosition(ETUDIANT* tab_etu,char nom1[MAXN],char prenom1[MAXN], int nbelements);
int comparer(char* nom1, char* nom2);
void insereNom(ETUDIANT *tab_etu, int nbelements,int pos);
void affiche(ETUDIANT *tab, int nb_etu);


int main()
{
ETUDIANT tab[MAX_etu];

int nb_etu;
float note;
char reponse;
int i=0,j=0;

printf("entrez le nombre d'etudiants\n");
scanf("%d",&nb_etu);
fgetc(stdin);

for(i=0;i<nb_etu;i++)
{initialise(tab,i);//fonction déja définie
j=recherchePosition(tab,tab[i].nom,tab[i].prenom,i);//c'est la fonction qui me pose le plus problème
printf("----------valeur retournee vaut-----%d--------------\n\n",j);// juste pour avoir le resultat sous les yeux
insereNom(tab,i+1, j);//pour inserer le dernier nom entré à la place qu'il doit occuper.
}
affiche(tab,nb_etu);//pour afficher le tableau
}


voici les fonctions que j'ai appelées sur le programme principal:

int recherchePosition(ETUDIANT* tab_etu,char nom1[MAXN],char prenom1[MAXN], int nbelements)
{
// int n, m,k=0,i=0;

int i;
int j=0;
for(i=0;i<=nbelements;i++)
{
if(strcmp((tab_etu[i].nom),nom1)<0)
{ j++;
}
}

return j;
}



void insereNom(ETUDIANT *tab_etu, int nbelements,int pos)
{
int i,j=nbelements;
i=pos; //recherchePosition(tab_etu,tab_etu[j-1].nom,tab_etu[j-1].prenom,nbelements);
j=nbelements;
while(j>i)

{
strcpy((tab_etu[j].nom),(tab_etu[j-1].nom));
strcpy((tab_etu[j].prenom),(tab_etu[j-1].prenom));
(tab_etu[j].med)=(tab_etu[j-1].med);
(tab_etu[j].final)=(tab_etu[j-1].final);
(tab_etu[j].tp)=(tab_etu[j-1].tp);
j--;

}
strcpy((tab_etu[i].nom),tab_etu[j-1].nom);

}

void affiche(ETUDIANT *tab, int nb_etu)
{
int j;
for(j=0;j<nb_etu;j++)
{
printf("\n%s",tab[j].nom);
printf("\n%s",tab[j].prenom);
prinf("\n%f",tab[j].med);
prinf("\n%f",tab[j].final);
prinf("\n%f",tab[j].tp);
}
}


merci d'avance
Répondre à debutantEnC

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Pacorabanix, le samedi 12 janvier 2008 à 16:10:25
je vois indiqué #include <iostream> mais pourquoi l'as tu mis ? <iostream> est du C++, pas du C.

tu as mis deux fois #include <string.h> .


ensuite, tu ne dis "il ne marche pas". Mais les lecteurs du forum ne vont pas tout refaire le travail : aide nous un peu ! Qu'est ce qui ne marche pas ? Est ce que le programme compile bien (sinon quelles erreurs ? ) ? S'il compile, y'a t-il des "symptomes" ? Qu'est ce qu'il fait ? Il ne'affiche rien du tout ? Il affiche des trucs bizarres ? Il s'arrete tout de suite ? jamais ? Il fait exploser ton PC et tu dois en racheter un à chaque fois que tu le testes ?
Répondre à Pacorabanix

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 snam54, le mercredi 30 avril 2008 à 10:03:00
bonjour j'aimerais trier un fichier par ordre alphabétique je ne sais pas commencé le commencé le fichier je l'ai déja créer en limitant le nombre de données comment faire pour ne pas limiter le nombre de données et aussi pourvoir trier mon fichier et en écraser l'ancien par le fichier trier
Répondre à snam54
Rangement par ordre numerique des chansons (Résolu)Oui non mais moi aussi elle sont nommémais tu voit si tu as 01.zozozozzo 02.tratratra 03.blabla ba moi sa va se ranger dans cette ordre 03.blablabla 02.tratrarta 03.zozozozo sa se range par ordre alphabetique c'est bizarre www.commentcamarche.net/forum/affich-2492570-rangement-par-ordre-numerique-des-chansons
Classement favoris (Résolu)Bonjour, Mes favoris IE se sont classés par ordre alphabetique, comment les reclasser par date ? Merci www.commentcamarche.net/forum/affich-6617597-classement-favoris
Créer un dictionnaire en utilisant les arbres (Résolu)Bonjour, Pour vérifier l’orthographe d’un mot on teste si ce mot existe dans un ensemble de mots rangés par ordre alphabétique. Cet ensemble constitue un dictionnaire et est représenté par un arbre lexicographique. Afin ne pas répéter les préfixes... www.commentcamarche.net/forum/affich-6193483-creer-un-dictionnaire-en-utilisant-les-arbres
[Excel] Trier sur les lignes (horizontalement), non les colonnesMicrosoft est configuré par défaut pour réaliser un tri sur les colonnes (Données / Trier). Pour trier les données horizontalement, il suffit de sélectionner les données à trier, puis de cliquer sur le bouton Options et, dans le panneau... www.commentcamarche.net/faq/sujet-2630-excel-trier-sur-les-lignes-horizontalement-non-les-colonnes
[Windows XP] Recréer le fichier boot.ini pour le lancementVoici la procédure à suivre pour recréer le fichier boot.ini : Démarrer avec le cd d'installation (boot sequence) Faire la réparation avec l'invite de commande. Dans l'invite de commande, écrire ceci et dans l'ordre: fixmbr (cela répare le... www.commentcamarche.net/faq/sujet-3155-windows-xp-recreer-le-fichier-boot-ini-pour-le-lancement
[Java] classer par ordre alphabétique (Résolu)Bonjour, Comment classer par ordre alphabétique une liste de mots le plus simplement possible en Java ? (les mots peuvent être rangés dans un vecteur, une array list,...) Merci de votre aide www.commentcamarche.net/forum/affich-1684452-java-classer-par-ordre-alphabetique
Classement par ordre alphabétique (Résolu)bsr mesdames, bsr messieurs, Petite question svp, existe un moyen pour classer par ordre alphabétique le contenu de mon répertoire "Mes documents" Cordialement www.commentcamarche.net/forum/affich-1230898-classement-par-ordre-alphabetique
Comment mettre en ordre alphabétique (Résolu)bonjour à tous, j'ai un petit problème, je m'explique, je fais un peu de bénévolat pour la mairie de mon village, et là je dois mettre par ordre alphabétique des listes d'un tableau, mais n'étant pas une as en informatique, je... www.commentcamarche.net/forum/affich-3296607-comment-mettre-en-ordre-alphabetique
Télécharger AVISplit ClassicAVISplit permet de découper et d'assembler des morceaux d'une vidéo au format AVI dans l'ordre souhaité, comme tout bon logiciel de montage. Très simple d'utilisation, AVI Split fait peu de choses, mais il le fait bien et gratuitement ! www.commentcamarche.net/telecharger/telecharger-34055030-avisplit-classic
Télécharger Leet-speak Generator Le langage "leet" ou Leet-speak (=L33tsp34k) est un langage des initiés, des vrais geeks qui ne veulent plus utiliser l'alphabet comme base de la langue. Ils utilisent ce langage pour éviter de faire des fautes frappes et des lettres. Le Leet-speak... www.commentcamarche.net/telecharger/telecharger-34055868-leet-speak-generator
Le marché français de la vidéo à la demande a crû de 25% au troisième trimestre 2007(Paris - Relax news) - d'après le baromètre vod des instituts gfk et npa conseil, le marché de la vidéo à la demande a augmenté de 25,4% en france au troisième trimestre 2007.le chiffre d'affaires de la vod atteint 19,9 millions d'euros de janvier à... www.commentcamarche.net/actualites/le-marche-francais-de-la-video-a-la-demande-a-cru-de-25-au-troisieme-trimestre-2007-4129691-actualite.php3
Voyages-sncf.com, l'agence de voyages en ligne la plus consultée par les internautes(Paris - Relax news) - Au quatrième trimestre, Voyages-sncf.com a été le site Web le plus visité dans la catégorie "Agences de voyages", a annoncé ce jeudi la Fevad (Fédération du e-commerce et de la vente à distance). 5,042 millions de visiteurs ont... www.commentcamarche.net/actualites/voyages-sncf-com-l-agence-de-voyages-en-ligne-la-plus-consultee-par-les-internautes-4771779-actualite.php3
[Brève] Gore Verbinski signe un premier contrat pour trois ans avec Universal PicturesLe réalisateur de la trilogie Pirates des Caraïbes, Gore Verbinski, a signé un accord avec Universal Pictures pour une collaboration sur les trois années à venir, a déclaré le quotidien Variety. Il travaille actuellement sur l'adaptation du jeu vidéo... www.commentcamarche.net/actualites/breve-gore-verbinski-signe-un-premier-contrat-pour-trois-ans-avec-universal-pictures-5847157-actualite.php3
Toutes les réponses pour « Tri par ordre alphabétique en C »