alors salut tous le monde alors j'ai eu un projet !!!
en effet le projet consiste a ecrire un programme qui permet de choisir le meilleure trie qui correspond a un tableau quelconque !!
selon le temps d'excution pour chacun des trie ou le nombre d'instruction utilisé et puisque je suis (noob) en C (debutant) je ne sais pas comment calculer la complexité d'un trie pour cette raison 'ai essais d'utilise time.h mais le probleme en aplliquant le clock et clock-t toujour le temps est afficher 0.0000000000000000000000000000000000 ...........
quelq'un peut m'aider
le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void remplir(int TAB [50],int N )
{
    int i ;
 
    for(i=0;i<N;i++)
    {
        printf("T[%d]=",i);
    scanf("%d",&TAB[i]);
    }
}
 
void afficher (int TAB [50],int N)
{
    int i ;
    for (i=0;i<N;i++)
        printf("T[%d]=%d \n",i,TAB[i]) ;
 
}
 
 
void trierenbulle (int TAB[50],int N)
{
int i,x ;
int permutation ;
do
{
    permutation=0 ;
    for(i=0;i<N;i++)
 
        if (TAB[i]>TAB[i+1])
        {
            x=TAB[i];
            TAB[i]=TAB[i+1];
            TAB[i+1]=x ;
            permutation=1 ;
        }
 
    }while (permutation=0) ;}
 
 
        void tri_insertion(int TAB[50], int N)
{
   int i, j,x;
   for (i = 1; i < N; ++i) {
       x= TAB[i];
       for (j = i; j > 0 && TAB[j-1] > x; j--)
           TAB[j] = TAB[j-1];
       TAB[j] = x;
 
    }
 
}
 
void selection(int TAB [50] , int N)
{
     int i, min, j, x;
 
     for (i = 0; i < N- 1; i++)
     {
         min = i;
         for (j = i + 1; j<N; j++)
              if (TAB[j] < TAB[min])
                  min = j;
          x = TAB[i];
          TAB[i] = TAB[min];
          TAB[min] = x;
     }
}
 
 
 
 
 
void main()
{
    int TAB[50];
    int N ;
    float temps1,temps2,temps3 ;
clock_t t1,t2,t3,t4,t5,t6 ;
 
printf("saisir le nombre de case de votre tableau");
    scanf("%d",&N) ;
 
    remplir(TAB,N ) ;
    afficher (TAB,N) ;
 
    t1 = clock () ;
 
    selection(TAB,N) ;
 
    t2 = clock();
 
    temps1 =(t2-t1)/CLOCKS_PER_SEC;
 
    printf("temps = %4.30f\n", temps1);
 
    t3 = clock();
    tri_insertion(TAB,N) ;
    t4 = clock();
    temps2 =(t4-t3)/CLOCKS_PER_SEC;
    printf("temps = %4.30f\n", temps2);
 
 
    t5 = clock();
    trierenbulle (TAB,N) ;
    t6 = clock();
    temps3 = (t6-t5)/CLOCKS_PER_SEC;
    printf("temps = %f\n", temps3);
 
    afficher (TAB,N)  ;
 
 
 
 
 
    return 0;
}
quelq'un peux m'aider s'il vous plait