diff --git a/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/main.c b/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/main.c index 13c19dc319691c4b51326fda968363d20dc1337b..62083485f5abe0393c7de9fbef732371039884ad 100755 --- a/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/main.c +++ b/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/main.c @@ -1,24 +1,49 @@ +/** + *@file main.c + *@brief Programme principale pour trier un tableau dynamique 1D (une dimension) + *@details Ce programme créer un tableau, le remplit avec des valeurs aléatoires, le trie, puis affiche le tableau trié + *@author Pradheep U. + *@date 20/03/2024 + *@version 2.0 + *@copyright Copyright 2024 Pradheep U. +*/ + #include "tableau.h" #include "alea.h" #include "remplir.h" #include "io.h" #include "tri.h" -tableau t; +tableau t; //Déclaraition d'un tableau dynamique +/** + * @fn int main(argc, char **argv) + * @brief Fonction principale + * @param argc Nombre d'arguments de ligne de commande + * @param argv Tableau des arguements de ligne de commande + * @return 0 en cas de succès, 1 en cas d'échec + * @details Verifie le nombre d'arguments et procéde au remplissage, au tri et à l'affichage du tableau +*/ int main(int argc, char **argv) { + if (argc < 3) { - printf("usage : main <nb elems> <max val>\n"); + printf("usage : main <nb elems> <max val>\n"); //la valeur maximale que peut prendre une valeur return 1; } t.taille = atoi(argv[1]); // lecture du 1er argument + int m = atoi(argv[2]); // lecture du 2eme argument - t.valeurs = 0; // initialisation du pointeur - t.valeurs = (int *)malloc(t.taille * sizeof(int)); // allocation du tableau + + t.valeur = NULL; // initialisation du pointeur + t.valeur = (int *)malloc(t.taille * sizeof(int)); // allocation du tableau + if(t.valeur == NULL) { + fprintf(stderr, "Erreur d'allocation de la mémoire\n"); + exit(EXIT_FAILURE); + } remplir(m); // remplissage aléatoire du tableau @@ -30,5 +55,7 @@ int main(int argc, char **argv) printf("tableau trié :\n"); affiche(); + free(t.valeur); //libération de la mémoire + return 0; }