//variante avec pointeurs
void ft_rev_int_tab(int *tab, int size)
{
int temp;
int *start; // pointeur vers le permier element du tableau
int *end; // pointeur vers le dernier element du tableau (table +size - 1)
start = tab; // Pointeur sur le début du tableau
end = tab + size - 1; // Pointeur sur la fin du tableau
while (start < end) // ici un bete swap
{
temp = *start; // Stocke la valeur de début
*start = *end; // Échange la valeur de fin avec celle de début
*end = temp; // Place l'ancienne valeur de début à la fin
// ne pas oublier l incrementation
start++; // Incrémente le pointeur de début
end--; // Décrémente le pointeur de fin
}
}
/*
// variante avec moitie du tableau
void ft_rev_int_tab(int *tab, int size)
{
int i;
int temp;
i = 0;
while (i < size / 2)
/*
- La boucle s'exécute tant que `i` est inférieur à la moitié de la taille du tableau
(`size / 2`), car pour inverser un tableau, il suffit d'échanger
les éléments du début avec ceux de la fin, en avançant simultanément
vers le milieu. Exemple : si le tableau contient 6 éléments, la boucle va parcourir
les 3 premiers éléments et les échanger avec les 3 derniers.
*/
/*
{
temp = tab[i];
tab[i] = tab[size - 1 - i];
tab[size - 1 - i] = temp;
i++;
}
}
*/
#include <stdio.h>
// Fonction principale pour tester ft_rev_int_tab
int main(void)
{
int tab[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // Tableau d'exemple
int size = sizeof(tab) / sizeof(tab[0]); // Calcul de la taille du tableau
printf("Tableau avant inversion :\n");
for (int i = 0; i < size; i++)
{
printf("%d ", tab[i]);
}
printf("\n");
// Appel à la fonction ft_rev_int_tab
ft_rev_int_tab(tab, size);
printf("Tableau après inversion :\n");
for (int i = 0; i < size; i++)
{
printf("%d ", tab[i]);
}
printf("\n");
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: