Bonjour à tous
La question de Pat66, ici:
concernant le C
m’a donné envie de la résoudre en bash.
Je ne suis pas programmeur, très loin s’en faut! mais je me débrouille plus ou moins mal avec bash pour créer des petits scripts bricolés.
Je propose cette solution, et ne me vexerait pas de toutes vos remarques plus ou moins constructives.
#!/bin/bash --
# Inverser l'ordre des éléments d'un tableau.
# Il s'agit de tableaux indicés (les tableaux associatifs ne sont pas spontanément ordonnés)
#echo "Il s'agit de tableaux indicés (les tableaux associatifs ne sont pas ordonnés)"
declare x=''
declare -a tableau=( prem deux trois etc. cinquieme )
declare -a nouv
tableau[3]='quatrieme'
tableau[7]='Huitieme'
# Trouver l'indice le plus élevé (ici: 7, le 8e):
for i in ${!tableau[*]}
do
# écraser tous les indices par le suivant, jusqu'au dernier:
x="$i"
done
unset i
# Création du tableau inversé:
for i in ${tableau[*]}
do
nouv[x]="$i"
let x--
done
echo "Tableau initial: ${tableau[*]}"
echo "Nouveau tableau: ${nouv[*]}"
(Quelques fioritures inutiles ne sont là que pour mon aide-pauvre-mémoire)