Exercice langage C : Inversion d'un tableaux

Ecrire une fonction SaisieTAbleau qui un tableau Tab d’entier de dimension N.

Ecrire une fonction AfficheTAbleau qui affiche le tableau Tab.

Ecrire le programme principal.

Ajouter au programme une fonction InverseTableau qui inverse le tableau Tab sans utiliser de tableau d'aide (la fonction InverseTableau doit échanger les éléments du tableau à l'aide de deux indices qui parcourent le tableau en commençant respectivement au début et à la fin du tableau et qui se rencontrent en son milieu).


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* Inversion d'un tableau */

#include 

/* Saisie d'un tableau de N elements au clavier */
void SaisieTableau(int *T, int N);

/* Affichage d'un tableau */
void AffichageTableau(int *T, int N);

/* Inversion d'un tableau */
void InverseTableau(int *T, int N);

int main()
{
	int Tab[20], N;

	printf("Dimension du tableau (max %d) : ", 20); scanf("%d", &N );

	SaisieTableau(Tab, N);

	printf("\nTableau Initial:\n");
	AffichageTableau(Tab, N);

	InverseTableau(Tab, N);

	printf("\nTableau Inverse:\n");
	AffichageTableau(Tab, N);

	return 0;
}

void SaisieTableau(int *T, int N)
{
	int i;
	for (i=0; i<N; i++)
	{
		printf("Element %d : ", i); scanf("%d", &T[i]);
	}
}

void AffichageTableau(int *T, int N)
{
	int i;
	for (i=0; i<N; i++)
	{
		printf("%d ", T[i]);
	}
	printf("\n");
}

void InverseTableau(int *T, int N)
{
	int i, j, temp;
	for (i=0, j=N-1; i<j; i++,j--)
	{
		temp = T[i];
		T[i] = T[j];
		T[j] = temp;
	}
}