j'ai un tableau en entrée comme suit
je veux trier ce tableau et récupérer les indices des nouveaux éléments triés par rapport au tableau initial A mais dans l'ordre
Code : Sélectionner tout - Visualiser dans une fenêtre à part A=[5,6,6,6,6,6,6,7,7,7,8,9,8,9,8,11,10,12,10,12,10,13,13]
c.à.d:
L'algorithme que j'ai écrit, le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 A_Tri=[5,6,6,6,6,6,6,7,7,7,8,8,8,9,9,10,10,10,11,12,12,13,13] Indice=[1,2,3,4,5,6,7,8,9,10,11,13,15,12,14,17,19,21,16,18,20,22,23]
Code matlab : 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 for ii=1:taille(A) posenA(ii)=ii; end for i=1:Taille(A)-1 wmin=i; for j=i+1:Taille(A) if A(j)<A(wmin) wmin=j; end end if wmin<>i aux= A(i); A(i)=A(wmin); A(wmin)=aux; auxun=posenA(1,i); posenA(1,i)=posenA(1,wmin); posenA(wmin)=auxun; end end
permet de bien trier le tableau et récupérer les indices mais pas dans l'ordre.
Voici le tableau indice résultant de mon algorithme Indice=[1,2,3,4,5,6,7,8,9,10,11,13,15,14,12,17,19,21,16,20,18,22,23]
Quelqu’un SVP permet de me montrer l'erreur ou m'aider.MERCI
Partager