Sur le code ASCII en langage C
Dans l'intention de classer des caractères par ordre alphabétique j'utilise leur code ASCII.
Maintenant Dans l'intention de classer des mots (chaines de caractères) par ordre alphabétique,
comment obtenir la valeur numérique correspondant à ma chaîne.
merci d'avance!
Ok merci . j'utilise la strcmp() mais ya quelque chose qui m'échape et voulè un éclaisissement!
utilisant le principe du tri selection
voisi mon code pourclasser par ordre alphabétique
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
//Adherent adh[] est une variable de type structure contenant un char adh_Nom[50]
//echanger(adh,i,mini) sert a permiter adh[i] et adh[mini]
void classer_a_z(Adherent adh[], int nbt)
{
int j, i, mini;
char tmpNom[50];
for(i=0; i<nbt; i++)
{
mini=i;
for(j=i+1; j<nbt; j++)
{
if(strcmp(adh[mini].adh_Nom ,adh[j].adh_Nom) == 1)
j=mini;
echanger(adh,i,mini);
}
}
} |
cela compile sans signaler d'errur mais ma liste reste déclasser!
merci d'avance de m'éclaircir sur ce qui va pa!
A super , xa marche bien mintana!
ok! voici le code corigé!
Code:
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
|
/** methode permettant de classer des variables de type char d'une structure Adherent par ordre alphabétique **/
void classer_a_z(Adherent adh[], int nbt)
{
int j, i, mini;
for(i=0; i<nbt; i++)
{
mini=i;
for(j=i+1; j<nbt; j++)
{
if(strcmp(adh[mini].adh_Nom ,adh[j].adh_Nom) == 1)
mini=j;
}
if(i != mini)
echanger(adh,i,mini);
}
}
void echanger(Adherent adh[], int x, int y)
{
Adherent tmp;
tmp = adh[x];
adh[x] = adh[y];
adh[y] = tmp;
} |
une petite question en plus: Dans quelle domaine le language C excelle t-il en ce moment?