Algorithme tableau

Fermé
blumette - 10 sept. 2011 à 01:24
 MrKash - 10 sept. 2011 à 14:36
Bonjour,

kelk1 peu m'aidé a coriger cette exercice svp?!
ecrire un algorithme qui inverce l'ordre des éléments d'un tableau dont on suppose qu'il a été prélablement saisi (les premiers seront les dernier et les dernier seront les 1er ).
merciiiiii a l'avance !!

2 réponses

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
10 sept. 2011 à 07:53
Corriger impose d'avoir une base, mais bon passons...
L'exercice est très simple, il suffit d'avoir 2 indexs, mettont 'First' et 'Last'.
Au début 'First' pointe sur le 1er élément et 'Last' sur le dernier,
et tant que 'First' < 'Last' on :
- inverse les éléments des 2 indexs,
- incrémente 'First' et décrémente 'Last'.
1
S'il s'agit d'un tableau d'expressions de type non integer (string ou char) :
Il faut également utiliser une variable de stockage pour l'élément à déplacer (disons qu'elle s'appelle nb).

Tu crée une boucle parcourant la moitié du tableau seulement! Sinon tu vas inverser puis réinverser et retomber sur ton tableau original.
soit n ta position dans la boucle, et tl la taille de ton tableau
Pour chaque boucle :
1) tu stocke ton élément tl-n dans nb
2) tu remplace la valeur de tl-n par n
3) tu remplace la valeur de n par celle stockée dans nb
1
KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
10 sept. 2011 à 14:20
Pourquoi "de type non integer" ?
Cet algorithme doit fonctionner pour n'importe quels éléments contenus !
0
Car la solution de nicocorico marchait pour les types integer, mais uniquement integer. J'ai seulement voulu apporter un complément d'information. En effet,ma façon marche pour tout type d'élément, et de plus n'utilise qu'un seul tableau.
0
KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
Modifié par KX le 10/09/2011 à 14:32
Je ne vois pas en quoi celui de nicocorico fonctionnait uniquement avec des integer...
Il a la même méthode que toi à part que plutôt de recalculer "tl-n" à chaque fois, il prend un m=tl qu'il décrémente au fur et à mesure jusqu'à avoir m<n (c'est à dire m==n==tl/2 à +/-1 près)
Mais bon les résultats sont identiques dans les deux cas, et la complexité aussi ^^
0
Autant pour moi, j'avais lu trop vite. J'ai cru qu'il triait les valeurs du tableau par ordre croissant, mais en effet sa solution est tout à fait correcte!
0