Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Bibliothèque utilisé pour le programme :
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- int main ()
- {
- //Declaration des variable
- char chaine_noms[5][255]; // chaine de caractère des nom saisis par l'utilisateur
- char chaine_permutation[255]; // chaine de caratère qui permet la permutation des nom pour le classement
- int boucle_1;
- int flag_permutation=1; //flag dans un tri a bulle
- int longueur_chaine; // longueur du mot
- char boucle_2;
- int erreurSaisie;
- // 1. Saisie des nonms
- printf ("\n\nVeuillez entrer 5 noms pour effectuer un tri alphabetique\n");
- for (boucle_1 = 0; boucle_1 < 5 ; boucle_1++)
- {
- printf("\nNom N° %d : ", boucle_1+1);
- scanf ("%s", chaine_noms[boucle_1]);
- longueur_chaine=strlen (chaine_noms[boucle_1]);
- // 2. Vérification de la saisie >> Blindage
- erreurSaisie = 0;
- for (boucle_2 = 0; boucle_2 < longueur_chaine; boucle_2++)
- {
- if ((chaine_noms[boucle_1][boucle_2] < 45) ||
- ((chaine_noms[boucle_1][boucle_2] > 45) && (chaine_noms[boucle_1][boucle_2] < 65)) ||
- ((chaine_noms[boucle_1][boucle_2] > 90) && (chaine_noms[boucle_1][boucle_2] < 97)) ||
- (chaine_noms[boucle_1][boucle_2] > 122) ||
- ((chaine_noms[boucle_1][0] == 45) || (chaine_noms[boucle_1][longueur_chaine -1] == 45)))
- {
- printf ("erreur de saisie !");
- erreurSaisie = 1;
- break;
- }
- }
- for (boucle_2 = 0; boucle_2 < longueur_chaine; boucle_2++)
- {
- chaine_noms[boucle_1][boucle_2] = tolower(chaine_noms[boucle_1][boucle_2]);
- chaine_noms[boucle_1][0] = toupper(chaine_noms[boucle_1][0]);
- }
- if (erreurSaisie == 1)
- {
- boucle_1--;
- }
- }
- printf("\n\n");
- // 3. Partie tri des noms
- while (flag_permutation)
- {
- flag_permutation=0;
- for (boucle_1 = 0; boucle_1 < 4; boucle_1++)
- {
- if (strcmp(chaine_noms[boucle_1], chaine_noms[boucle_1+1]) > 0)
- {
- strcpy(chaine_permutation, chaine_noms[boucle_1]);
- strcpy(chaine_noms[boucle_1], chaine_noms[boucle_1+1]);
- strcpy(chaine_noms[boucle_1+1], chaine_permutation);
- flag_permutation = 1;
- }
- }
- }
- // 4. Partie affichage du resultat
- printf ("voici les noms trié en ordre alphabetique :\n\n");
- for (boucle_1 = 0; boucle_1 < 5; boucle_1++)
- {
- printf ("Nom N° %d : %s\n\n", boucle_1+1, chaine_noms[boucle_1]); // affichage des resultats du tri
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment