Bonjour,

Je n'arrive pas à trouver une logique dans une boucle

Je saisis par exemple des numéros dans un tableau 10, 40, 2, 60, 4

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
int numero[5]; 
int numsup[5]
int ind[5]; 
 
 for (int i = 0; i < 5; i++)
  {
  ind[i]=i;
  numsup[i] = numero[i];
 ListBox1->Items->Add(IntToStr(ind[i]) +"  "+ IntToStr(numero[i]));
 }
Ce qui donne :
  0     10
  1     40
  2     2
  3     60
  4     4
Je trie les numéros ... (routine de tri 2,4,10,40,60)

Ensuite j'aimerais renommer chaque ind pour qu'il corresponde par numero par ordre croissant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
   if  (numero[i] ==  numsup[i] )  ind[i] =*?;   // soit si numéro = 2  ind  = 0
   if  (numero[i] ==  numsup[i])   ind[i] =*?;   //      ''*               4  ind  = 1 
   if  (numero[i] ==  numsup[i] )  ind[i] =*?;   //      ''                10 ind  = 2
   if  (numero[i] ==  numsup[i] )  ind[i] =*?;   //      ''                40 ind  = 3
   if  (numero[i] ==  numsup[i])   ind[i] =*?;   //      ''                60 ind  = 4
C'est peut-être tarte mais je ne trouve pas.

Merci d'avance pour votre aide.

Cordialement