Advertisement
leo91000

Untitled

Nov 18th, 2017
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.38 KB | None | 0 0
  1. char ** initialiserTableauDoublons(int tailleTableau)
  2. {
  3.     int i = 0;
  4.     char ** bib = (char **)malloc(sizeof(char *) * tailleTableau);
  5.     for (i = 0; i < tailleTableau; i++)
  6.         bib[i] = NULL;
  7.     return bib;
  8. }
  9.  
  10. int existeDejaA(char ** tableauDoublons, char * doublon)
  11. {
  12.     char ** bib = tableauDoublons;
  13.     char * doublonActuel;
  14.     int i = 0, j = 0, stringComp = 0, res = 0;
  15.     for (i = 0; bib[i] != NULL; i++) {
  16.         doublonActuel = bib[i];
  17.         stringComp = 0;
  18.         //Fonction strcmp personalisée pour optimiser le temps de calcul
  19.         for (j = 0; doublonActuel[j] != '\0'; j++) {
  20.             if (doublonActuel[j] != doublon[j]) {
  21.                 stringComp = 1;
  22.                 break;
  23.             }
  24.         }
  25.  
  26.         //On vérifie si la fin du doublon du tableau est la fin du doublon à rechercher
  27.         if (doublonActuel[j] == '\0' && doublon[j] != '\0') {
  28.             stringComp = 1;
  29.         }
  30.  
  31.         if (!stringComp) {
  32.             res = 1;
  33.             break;
  34.         }
  35.     }
  36.     return res;
  37. }
  38.  
  39. char ** insererDoublon(char ** tableauDoublons, char * doublon)
  40. {
  41.     char ** bib = tableauDoublons;
  42.     int i = 0;
  43.     if (tableauDoublons == NULL)
  44.         return NULL;
  45.     else {
  46.         for (i = 0; bib[i] != NULL; i++);
  47.         bib[i] = (char *)malloc(sizeof(char) * (strlen(doublon) + 1));
  48.         strcpy(bib[i], doublon);
  49.         return bib;
  50.     }
  51. }
  52.  
  53. void detruireTableauDoublon(char ** tableauDoublons, int tailleTableau) {
  54.     int i = 0;
  55.     for (i = 0; i < tailleTableau; i++)
  56.         free(tableauDoublons[i]);
  57.     free(tableauDoublons);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement