je voudrais trier les element contenue dans tab_e (tableau d'entier) de facon indirect dans le tablea de pointeur tab_p et je coince dans la fonction tri , svp liser la fonction tri() .. le code est correct le programme s'excute mais le tri ne se fait pas .. merci
si vous pouvez m'aider ca serrai sympa
merci d'avance

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
#include <stdio.h>
#include <conio.h>
 
void main ()
{
int tab_e[20],*tab_p[20];
void initialise(int tab[],int *tabp[],int taille);
void saisir(int *tabp[],int taille);
void afficher(int *tabp[],int taille);
void tri(int tab[],int *tabp[],int taille);
clrscr();
initialise(tab_e,tab_p,10);
saisir(tab_p,10);
afficher(tab_p,10);
tri(tab_e,tab_p,10);
afficher(tab_p,10);
getch();
}
 
void initialise (int tab[],int *tabp[],int taille)
{
int i;
 for(i=0;i<taille;i++)
   {
   tabp[i]=&tab[i];
   }
}
 
void saisir(int *tabp[],int taille)
{
int i;
 for(i=0;i<taille;i++)
 {
 printf("Saisie l'element %d> ",i+1);
 scanf("%d",tabp[i]);
 }
}
 
void afficher(int *tabp[],int taille)
{
int i;
 for(i=0;i<taille;i++)
 {
 printf("element %d",i+1);
 printf(":%d \n",*tabp[i]);
 }
}
 
void tri(int tab[],int *tabp[],int taille)
{
int i,j,pos,min=0,*aux;
 
 for(i=0;i<taille;i++)
 {
min=i;
  for(j=i+1;j<taille-1;j++)
  {
 
   if(tab[j]<tab[min])
    {
     min=j;
    }
  }
 
    aux=tabp[i];
    tabp[i]=tabp[j];
    tabp[j]=aux;
 
 }
 
}