j'ai un problème au niveau de l'exécution de tri sélection quelque fois il se bloque ou n'affiche pas résultat
merci de m'aide

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
 #include <stdio.h>
int T[50];
int n,i,menu;
int j,pmax,aide,tr,pos;
 
main ()
{
     printf("\t\t\t\t****menu de tri****\n\n\n");
     printf("Donnez la longueur du Tableau (max:50):\t");
     scanf("%d",&n);
     printf("\n remplisage de tableau\n\n");
     for(i=0;i<n;i++){printf("valeur de T[%d] : ",i);scanf("%d",&T[i]);}
     do
     {
     printf("\n\n\t\t\t\tentrer votre choix\n\n\n ");
     printf("1:tri par selection \n 2:tri par permutation \n 3:tri par insertion \n 4:quiter \n\n ==> ");
     scanf("%d",&menu);
 
     switch (menu)
     {
            case 1:
                 {
                       for(i=0;i<n-1;i++)
                       {
                                         pmax=i;
                                         for (j=i+1;j<n;j++)
                                         {
                                                         if (T[j]>=T[pmax])  pmax=j; 
                                                         aide=T[i];
                                                         T[i]=T[pmax];              
                                                         T[pmax]=aide;            
                                         }
                       }
                       printf("\n\nvous avez choisis le tri par selection\n\n");
                 }
                 break;
            case 2:
                 {
 
                       do
                       for(i=0;i<n-1;i++)
                       {
					                     tr=0;
                                         if(T[i]>T[i+1])
                                         {
                                                       aide=T[i];
                                                       T[i]=T[i+1];
                                                       T[i+1]=aide;
													   tr=1;
                                         }
                       }
                       while(tr!=0);
                       printf("\n\nvous avez choisis le tri par permutation\n\n");
                 }
                 break;
            case 3:
                {
                       for(i=1;i<n;i++)
                       {
                                       j=i-1;
                                       aide=T[i];
                                       while(j>=0 && T[j]>aide)
                                       {
                                                  T[j+1]=T[j];
                                                  j=j-1;
                                       }
                                       T[j+1]=aide;
                       }
                       printf("\n\nvous avez choisis le tri par insertion\n\n");
                }
                break; 
            case 4: return 0;
            }
 
            printf("***tableau est trie***\n");
            for(i=0;i<n;i++) printf("T[%d] = %d    ",i,T[i]);
     }
     while(menu);            
     }