- #include <stdio.h>
- #include <ctype.h>
- #include <string.h>
- #include <stdlib.h>
- #define MAX 1024
-
- int ordre_alpha(char *CH1, char *CH2); //definition de la fonction
-
- main()
- {
- char CH1[MAX]; //premiere chaine de caractères
- char CH2[MAX]; //seconde chaine de caracteres
- int ordre;
-
- printf("Entrez la chaine 1: ");
- gets(CH1);
- printf("Entrez la chaine 2: ");
- gets(CH2);
-
- ordre=ordre_alpha(CH1, CH2); // appel de la fonction ordre_alpha
-
- if (ordre==0)
- {
- printf("Remise en ordre:\n%s\n%s\n", CH2, CH1);
- }
-
- if (ordre==1)
- {
- printf("Remise en ordre:\n%s\n%s\n", CH1, CH2);
- }
-
- if (ordre==2)
- {
- printf("Vous avez entre deux chaines identiques.\n");
- }
-
- return(0);
- }
-
- int ordre_alpha(char *CH1, char *CH2)
- {
- int i, n, m;
- m=strlen(CH1);
- n=strlen(CH2);
-
- if (m!=n)
- {
- if (m<n)
- {
- for (i=0; i<n;i++)
- {
- CH1[i]= tolower(CH1[i]); //on passe tout en minuscule afin de ne pas avoir de conflits avec des majuscules
- CH2[i]= tolower(CH2[i]);
-
- if(CH1[i]!=CH2[i]) // si on détecte une différence
- {
- if (CH1[i]<CH2[i]) // et si la premiere chaine est inférieure de code ASCII alors
- {
- return (1); // on retourne 1, qui veut dire que l'on est bien dans l'odre alphabétique
- }
- else return 0; // sinon on retourne 0
- }
- }
- }
-
-
- if (n<m) // de meme que pour la précédente fonction
- {
- for (i=0; i<m;i++)
- {
- CH1[i]= tolower(CH1[i]);
- CH2[i]= tolower(CH2[i]);
-
- if(CH1[i]!=CH2[i])
- {
- if (CH1[i]<CH2[i])
- {
- return (1);
- }
- else return 0;
- }
- }
- }
- }
-
- else if (m==n)
- {
- for (i=0; i<n;i++)
- {
- CH1[i]= tolower(CH1[i]);
- CH2[i]= tolower(CH2[i]);
-
- if(CH1[i]!=CH2[i])
- {
- if (CH1[i]<CH2[i])
- {
- return (1);
- }
- else
- {
- return (0);
- }
- }
- }
- return(2);
-
- }
- }
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#define MAX 1024
int ordre_alpha(char *CH1, char *CH2); //definition de la fonction
main()
{
char CH1[MAX]; //premiere chaine de caractères
char CH2[MAX]; //seconde chaine de caracteres
int ordre;
printf("Entrez la chaine 1: ");
gets(CH1);
printf("Entrez la chaine 2: ");
gets(CH2);
ordre=ordre_alpha(CH1, CH2); // appel de la fonction ordre_alpha
if (ordre==0)
{
printf("Remise en ordre:\n%s\n%s\n", CH2, CH1);
}
if (ordre==1)
{
printf("Remise en ordre:\n%s\n%s\n", CH1, CH2);
}
if (ordre==2)
{
printf("Vous avez entre deux chaines identiques.\n");
}
return(0);
}
int ordre_alpha(char *CH1, char *CH2)
{
int i, n, m;
m=strlen(CH1);
n=strlen(CH2);
if (m!=n)
{
if (m<n)
{
for (i=0; i<n;i++)
{
CH1[i]= tolower(CH1[i]); //on passe tout en minuscule afin de ne pas avoir de conflits avec des majuscules
CH2[i]= tolower(CH2[i]);
if(CH1[i]!=CH2[i]) // si on détecte une différence
{
if (CH1[i]<CH2[i]) // et si la premiere chaine est inférieure de code ASCII alors
{
return (1); // on retourne 1, qui veut dire que l'on est bien dans l'odre alphabétique
}
else return 0; // sinon on retourne 0
}
}
}
if (n<m) // de meme que pour la précédente fonction
{
for (i=0; i<m;i++)
{
CH1[i]= tolower(CH1[i]);
CH2[i]= tolower(CH2[i]);
if(CH1[i]!=CH2[i])
{
if (CH1[i]<CH2[i])
{
return (1);
}
else return 0;
}
}
}
}
else if (m==n)
{
for (i=0; i<n;i++)
{
CH1[i]= tolower(CH1[i]);
CH2[i]= tolower(CH2[i]);
if(CH1[i]!=CH2[i])
{
if (CH1[i]<CH2[i])
{
return (1);
}
else
{
return (0);
}
}
}
return(2);
}
}