M GAYE Abdoulaye LANGAGE C Licence 1
Chapitre 06 : LES TABLEAUX
INTRODUCTION
Ecrire un programme qui permet de saisir 75 entiers. Le programme affiche les valeurs après
la saisie. Avoir plusieurs espaces contigus dans la mémoire qui porte le même nom : les
cellules d’un tableau.
Un tableau représente une collection de données, c’est-à-dire une structure homogène
constituant de plusieurs cellules dont chacune d’elle peut contenir une valeur.
Un tableau est caractérisé par :
Son nom ou identité : Il symbolise la variable à utiliser pour la manipulation du tableau.
Sa taille : Elle représente le nombre de cellules du tableau. Pour un vecteur, sa taille est
égale au nombre de colonnes et pour une matrice c’est égal au nombre de lignes multiplié par
le nombre de colonnes.
Sa dimension : Si elle est égale à 1, on parle de vecteur. Si elle égale à 2 on parle de Matrice.
Son type : Il détermine les valeurs compatibles au tableau. Le type peut être primitif ou
composé.
I. Les Vecteurs
1. Définition
Un vecteur est un tableau a une dimension, c’est-à-dire un tableau à une ligne. Les cellules
du tableau sont numérotées de 0 à N-1(avec N la taille ou le nombre de cellules du tableau).
2. Déclaration
a. Syntaxe
Type nomVecteur [ taille ] ;
Ex : int T [30] ;
float tab[10] ;
b. Application :
Déclarer un tableau de 256 caractères.
char T[256];
Ou
#define N 256
char T[N] ;
NB : La déclaration précédente représente un tableau de caractères nommé en général «
Chaine de Caractères ».
3. Manipulation
1
M GAYE Abdoulaye LANGAGE C Licence 1
Manipuler un tableau revient à manipuler toutes ses cellules. Ces dernières sont indexées ou
numérotées de 0 à N-1 de la gauche vers la droite. Dans un tableau, la position de chaque
cellule est unique.
Ex : Soit le Vecteur T de 10 entiers suivant,
12 0 -5 8 4 2 3 0 6 7
T[0] = 12 ; T[1] = 0 ; T[2] = -5 ; T[3] = 8 ; T[4] = 4 ; T[5] = 2 ;
T[6] = 3 ; T[7] = 0; T[8] = 6 ; T[9] = 7 ;
II. Généralisation
Si grand T est une variable symbolisant un vecteur et i une position de cellule du vecteur
alors la notation T[i] représente la Valeur contenue dans la cellule i du tableau T.
A. Création de vecteur
Pour créer un vecteur, il faut remplir toutes ses cellules. Donc pour se faire il faut déclarer
une variable d’indice de type entier et l’associer à la variable tableau pour le remplissage.
Application 1 :
Ecrire un programme qui permet de remplir et d’afficher un tableau d’entiers de 10 cellules.
Le programme détermine et affiche la somme des nombres impairs du tableau.
Application 2 :
Ecrire un programme qui permet de remplir et d’afficher un tableau d’entiers de N cellules.
Le programme détermine et affiche la moyenne des nombres pairs du tableau.
III. Les Matrices
1. Définition
Une matrice est un tableau à deux dimensions c’est-à-dire un tableau avec plusieurs lignes et
plusieurs colonnes. Chaque ligne de la matrice se comporte comme un vecteur d’où la notion
de tableau de tableaux.
Si le nombre de lignes est égal au nombre de colonnes, on dira que la matrice est carrée ;
dans le cas contraire, on parle de matrice quelconque.
2. Déclaration
Syntaxe :
Type nomMatrice[nombre de lignes][nombre de colonnes] ;
Ex : int Mat[10][5] ;
Manipulation d’une matrice
Manipuler une matrice revient à manipuler toutes ses cellules. Chaque valeur de la matrice
est repérée par sa position (ligne & colonne).
2
M GAYE Abdoulaye LANGAGE C Licence 1
3. Généralités
Si Mat est une variable symbolisant une matrice, i une variable d’indice de parcours des
lignes et j l’indice de parcours des colonnes, alors la notation Mat[i][j] (lire Mat de i. j)
représente la valeur contenue dans la cellule de ligne i et de colonne j de la matrice Mat.
4. Création d’une matrice
Pour créer une matrice, il faut remplir toutes ses cellules. Dans ce cas, il faut déclarer deux
indices de parcours pour deux boucles imbriquées : l’une permet de parcourir les lignes et
l’autre les colonnes.
Application
Ecrire un programme qui permet de remplir une matrice d’entiers de L lignes et C colonnes.
Le programme détermine et affiche la somme de tous les nombres se trouvant sur les lignes
paires.
Remarque :
Soit une matrice carrée d’ordre N. i l’indice de parcours des lignes et j l’indice de parcours
des colonnes. Le nombre d’éléments se trouvant sur la diagonale principale ou sur celle
secondaire est égal à l’ordre N. Si l’ordre d’une matrice carrée est un nombre impair c’est à
dire il vérifie la condition N%2==1 alors on aura un élément se trouvant sur les deux
diagonales et constituera l’intersection de celles-ci.
Diagonale Principale Diagonale Secondaire
Sur i == j i+j == N-1
Au-Dessus i<j i+j < N-1
En Dessous i>j i+j > N-1
Sur (Si N%2==1) i == j && i+j == N-1