salut
j'aimerais créer un algorithme pour inverser les éléments d'un tableau
voila ce que j'ai fais :
s'il vous plaît essayez de me rectifier et merci d'avanceCode:
1
2
3
4 pour i=0 à n-1 faire T'[i]=[n-i] finpour
Version imprimable
salut
j'aimerais créer un algorithme pour inverser les éléments d'un tableau
voila ce que j'ai fais :
s'il vous plaît essayez de me rectifier et merci d'avanceCode:
1
2
3
4 pour i=0 à n-1 faire T'[i]=[n-i] finpour
Quelles sont les dimensions de ton tableau ?
Qu'entends-tu pas "inversion" ?
Ne souhaites-tu pas plutôt faire des permutations d'éléments ?
sinon
devrait marcherCode:Tinverse = T(end:-1:1)
EDIT autant pour moi! :roll:
Il veut retourner le tableau, le renverser, inverser l'ordre des éléments du tableau, que les premiers deviennent les derniers et réciproquement...
Si tu as essayé ce code, tu as dû constater qu'il ne marchait pas, qu'en fait il laissait le tableau inchangé, non ?Code:
1
2
3 Pour i=0 à n-1 Faire T'[i]=[n-i] FinPour
C'est parce que tu en fait trop, non seulement tu échange un élément du début du tableau avec l'élément correspondant en fin de tableau, mais tu refais cet échange une deuxième fois, ce qui revient donc à ne pas faire d'échange du tout... Réfléchis à tes bornes et au nombre d'échange que tu as vraiment besoin de faire (ce n'est pas n comme dans ton code) et tu devrais avoir ta solution.
--
Jedaï
Salut, tu peux commencer par remplir le tableau après t'utilise une boucle de i=1 jusqu'à n//2 (//: Division entière)
tu fais ici les instructions de permutations a l'aide d'une nouvelle variable
dernier mot t'affiche le résultat
et c'est fini ^^ Good luck
je suis un débutant comme toi mais je vous propose une solution ;)
http://img163.imageshack.us/img163/5148/92450344.png
Salut !
Au cas où... il existe une astuce qui n'entraîne aucune permutation physique :
La question est alors de savoir si la formule la plus simple est ou n'est pas un algorithme (et surtout si elle correspond à ce qui est réellement demandé) !Code:
1
2 Tab[longueur-n]
A plus !
Bonjour.
Le plus simple est de multiplier ton tableau (matrice) avec la matrice unité symétrique :
Sous matlab (pardon) :
La matrice M s'obtient aussi avec :Code:
1
2
3
4 clear A=[3 4 5] M=[0 0 1;0 1 0;1 0 0] Ainv=A*M
Code:M=rot90(eye(3))
Salut !
Pour la permutation matérielle :
Une permutation sous cette forme, peut-être :Code:
1
2
3
4
5
6
7
8
9 d au début du tableau ( c'est souvent : 0 ) f à la fin du tableau ( c'est souvent : taille_du_tableau-1 ) tant que d < f faire permuter T[d] et T[f] incrémenter d décrémenter f fin tant que
A plus !Code:
1
2
3
4 t = T[d] T[d] = T[f] T[f] = t