Skip to content
Snippets Groups Projects
main.c 1.1 KiB
Newer Older
Ukhanov Ilya's avatar
Ukhanov Ilya committed
#include <stdio.h>
#include <stdlib.h>
#include "tri_insertion.h"
#include "tri_rapide.h"
#include "tri_fusion.h"
Ukhanov Ilya's avatar
Ukhanov Ilya committed

Ukhanov Ilya's avatar
Ukhanov Ilya committed
#include "utils.h"

int main(int argc, char *argv[]) {
  if(argc != 6) {
    printf("Usage: %s [typeAlgo] [taille] [typeTableau] [isAfficher] [versionRap]\n", argv[0]);
Ukhanov Ilya's avatar
Ukhanov Ilya committed
    exit(1);
  }

  char typeAlgo = argv[1][0];
  long taille = (long) atoi(argv[2]);
  long MAX = 50;
Ukhanov Ilya's avatar
Ukhanov Ilya committed
  long *tab = malloc(sizeof(long) * taille);
  char typeTable = argv[3][0];
  size_t afficher = (size_t) atoi(argv[4]);
  int versionRap = (size_t) atoi(argv[5]);
Ukhanov Ilya's avatar
Ukhanov Ilya committed

  genTab(tab, taille, typeTable, MAX);
Ukhanov Ilya's avatar
Ukhanov Ilya committed

  switch(typeAlgo) {
    case 'i':
      triInsertion(tab,taille);

Ukhanov Ilya's avatar
Ukhanov Ilya committed
      if(afficher) {
        printf("Tri Insertion: \n");
Ukhanov Ilya's avatar
Ukhanov Ilya committed
        affichertab(tab,taille);
Ukhanov Ilya's avatar
Ukhanov Ilya committed
      }

Ukhanov Ilya's avatar
Ukhanov Ilya committed
      break;

    case 'r':
      triRapide(tab, taille, versionRap);
Ukhanov Ilya's avatar
Ukhanov Ilya committed

Ukhanov Ilya's avatar
Ukhanov Ilya committed
      if(afficher) {
        printf("Tri Rapide: \n");
Ukhanov Ilya's avatar
Ukhanov Ilya committed
        affichertab(tab,taille);
Ukhanov Ilya's avatar
Ukhanov Ilya committed
      }

Ukhanov Ilya's avatar
Ukhanov Ilya committed
      break;

    case 'f':
      triFusion(tab, taille);

Ukhanov Ilya's avatar
Ukhanov Ilya committed
      if(afficher) {
        printf("Tri Fusion: \n");
Ukhanov Ilya's avatar
Ukhanov Ilya committed
        affichertab(tab,taille);
Ukhanov Ilya's avatar
Ukhanov Ilya committed
      }
Ukhanov Ilya's avatar
Ukhanov Ilya committed
      break;
  }

Ukhanov Ilya's avatar
Ukhanov Ilya committed
  free(tab);

Ukhanov Ilya's avatar
Ukhanov Ilya committed
  return 0;
}