Algorithme tableau

blumette -  
 MrKash -
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 !!

A voir également:

2 réponses

nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   138
 
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
MrKash
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Pourquoi "de type non integer" ?
Cet algorithme doit fonctionner pour n'importe quels éléments contenus !
0
MrKash
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
MrKash
 
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