/*maitrise de sciences cognitives */ /* tri naif */ /* -------------------- TRI NAIF ------------------------- Le tri naif utilise une technique simple. on compare le 1 élement du tableau avec tous les suivants en echangeant leur contenu si l'un des suivants est supérieur au premier élément. Une fois cette itération terminé, on obtient le plus petit élement dans la première case du tableau. on rétire le même processus en comparant cette fois le second, puis, le troisième, puis ... avec tous les éléments suivants du tableau. * ------------------------------------------------------ */ #include #include #include #define TAILLE_MAX 1000000 int A[TAILLE_MAX+1] ; /* fonction d'échange de deux éléments d'un tableau */ inline echanger(int A[], int i, int j) { int temp ; temp = A[i] ; A[i] = A[j] ; A[j] = temp ; } int verifier_tri(int A[], int taille) { /* vérifier que les éléments A[1] à A[taille] sont bien triés dans l'ordre croissant */ int i ; for(i=1;iA[i+1]) return 0; return 1; } void initialiser_aleatoire(int A[], int taille) { /* remplir les cases A[1] .... A[taille] avec des nombres aléatoires -> man random */ int i; srand(time(NULL) % 37 ); for(i=1;i A[j] ) echanger(A,i,j) ; } } int main() { int longueur, resultat, i; printf("Entrez la taille du tableau : \n"); scanf("%i",&longueur); initialiser_aleatoire(A,longueur); TriNaif(A,longueur); resultat = verifier_tri(A,longueur); if(resultat == 1) { printf(" Le tableau a bien été trié \n"); for(i=1;i