Exercice langage C: Éléments en indice
Rédigé par GC Team, Publié le 18 Mars 2012, Mise à jour le Samedi, 17 Décembre 2022 22:25Écrivez une fonction prenant un tableau T d'entiers et sa taille en paramètres. La fonction devra allouer un nouveau tableau T2. T2 sera construit de la façon suivante: Les éléments de T d'indice pair seront placés dans T2 à l'indice donné par l'élément suivant de T. Exemple:
- T[0] sera plaçé dans T2 à l'indice T[1],
- T[2] sera plaçé dans T2 à l'indice T[3],
- etc...
La fonction devra renvoyer un pointeur sur le premier élément de T2. On remarquera que la taille de T doit être paire. Si ce n'est pas le cas, la fonction devra renvoyer le pointeur 0 pour indiquer une erreur.
Exemple:
T:
4 | 2 | 8 | 0 | 7 | 1 |
T2:
8 | 7 | 4 |
int *indice(int *T, int taille)
{
if (taille % 2 != 0)
return 0; // erreur: taille n'est pas pair
int *T2 = new int[taille / 2];
for (int i=0; itaille/2; i++) {
if (T[i*2+1] taille / 2 && T[i*2+1] >= 0)
T2[T[i*2+1]] = T[i * 2];
else
return 0; // erreur: l'indice est en dehors du tableau
}
return T2;
}