//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;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: