Académique Documents
Professionnel Documents
Culture Documents
LES TABLEAUX :
Vecteur et Matrice
Par M. FALL BILAL
Juin 2022
LES TABLEAUX
LES VECTEURS ET MATRICES
I. DEFINITION
A = 10 ici A ne contient que 10 on dit que A est une variable simple. Soit t un tableau contenant
5 éléments
8 6 1 9 7
Tous ces éléments sont de même type, on dit que t est une variable composée c’est-à-dire une
variable pouvant contenir plusieurs éléments de même type.
Un tableau est une variable pouvant contenir un nombre d’éléments tous de même type. Nous
distinguons : les tableaux à une dimension ou vecteur et les tableaux à deux dimensions ou
matrice.
Un vecteur est un ensemble formé d’élément de même type mais constitué d’une ligne et de
plusieurs colonnes. Soit le tableau ci-dessous
T 8 6 1 9 7
T est le nom du tableau ; sa taille est 5 car il contient cinq éléments, soit i une variable de type
entier variant de 1 à 5, chaque élément du tableau est identifié par t[i].
1. Déclaration
Syntaxe
Type nomTableau[taille];
int t[10] ,i ;
ou bien
#define n 10
int t[n],i ;
Pour parcourir un vecteur ou tout autre type de tableau, nous devons nous servir d’une
boucle : for, while
Exemple
Exmple
for(i = 1; i <= n ; i++)
{
printf(“saisir un element de indice :%d \n”,i) ;
scanf(“%d ” ;&t[i]);
}
c. Affichage
Exemple
Exercice 1
Soit un vecteur V de 10 éléments de type entier. Ecrire un programme qui permet de remplir
ce vecteur et de l’afficher.
Exercice 2
Soit un vecteur de 5 éléments de type entier. Nous vous demandons de remplir ce vecteur et
de déterminer le maximum et le minimum.
Exercice 3
Soit un vecteur de 5 éléments de type entier. Nous vous demandons de remplir ce vecteur et
de le trier dans l’ordre croissant.
Exercice 4
Soit un vecteur de 5 éléments de type entier. Nous vous demandons de remplir ce vecteur et
d’inverser les éléments du vecteur.
Exercice 1
#include<stdio.h>
#define n 5
int t[n],i;
main()
{
// Initialisation
for(i = 1; i <= n ; i++)
{
t[i] = 0;
}
// Remplissage
for(i = 1; i <= n ; i++)
{
printf("saisir un element de indice :%d \n",i) ;
scanf("%d",&t[i]);
}
// Affichage
system("cls");
for(i = 1; i <= n ; i++)
{
printf("%d\t",t[i]);
}
#include<stdio.h>
#define n 5
int t[n],i;
main()
{
// Initialisation
for(i = 1; i <= n ; i++)
{
t[i] = 0;
}
// Remplissage
for(i = 1; i <= n ; i++)
{
printf("saisir un element de indice :%d \n",i) ;
scanf("%d",&t[i]);
}
// Traitement
For(i=1;i<=n;i++){
If(i= =1){
Min=t[i];
Max=t[i];
}else{
If(t[i]<min){
Min= t[i];
}
If(max> t[i]){
Max= t[i];
}
}
}
// Affichage
system("cls");
for(i = 1; i <= n ; i++)
{
printf("%d\t",t[i]);
}
}
Exercice 3
#include<stdio.h>
#define n 5
int t[n],i,j,p;
main()
{
for(i=1;i<=n;i++)
{
t[i]=0;
}
for(i=1;i<=n;i++)
ESIA SENEGAL M.B.FALL
5
Langage C
{
printf("saisir un element de rang %d\n",i);
scanf("%d",&t[i]);
}
for(i=1;i<=n-1;i++)
{
for(j=i+1;j<=n;j++)
{
if(t[j]<t[i])
{
p=t[i];
t[i]=t[j];
t[j]=p;
}
}
}
system("cls");
for(i=1;i<=n;i++)
{
printf("%d\t",t[i]);
}
Exercice 4
#include<stdio.h>
#define n 5
int t[n],i,j,p;
main()
{
for(i=1;i<=n;i++)
{
t[i]=0;
}
for(i=1;i<=n;i++)
{
printf("saisir un element de rang %d\n",i);
scanf("%d",&t[i]);
}
system("cls");
printf("Avant inversion\n");
for(i=1;i<=n;i++)
{
printf("%d\t",t[i]);
}
printf("\n");
// Inversion
i=1;
ESIA SENEGAL M.B.FALL
6
Langage C
j=n;
while(i<j)
{
p=t[i];
t[i]=t[j];
t[j]=p;
i++ ;
j-- ;
}
printf("Avant inversion\n");
for(i=1;i<=n;i++)
{
printf("%d\t",t[i]);
}
}
III. TABLEAU A DEUX DIMENSIONS OU MATRICE
Une matrice est considéré comme un ensemble de plusieurs vecteurs c’est-à-dire plusieurs
ligne et plusieurs colonnes. Les éléments d’une matrice sont tous de même type. Soit une
matrice t de 3 lignes et 4 colonnes, i et j les indice respectifs de ligne et de colonne ; chaque
élément de la matrice est identifier par nomTableau[indiceLigne,indiceColonne] c’est-à-
dire t[i][j].
1. Déclaration
Syntaxe :
type nomtableau[nombreligne][nombrecolonne]
#define n 3
#define m 4
int t[n][m],i,j ;
2. Parcours: initialisation, remplissage et affichage
a. Initialisation
Exemple:
b. Remplissage
c. Affichage
Exemple
Une matrice carrée est un tableau à deux dimensions dont le nombre de ligne est égal au
nombre de colonne.
2 4 6
3 7 8
1 5 4
a. Diagonale principale
2 4 6
3 7 8
1 5 4
M[1][1] = 2
M[2][2] = 7
M[3][3] = 4
b. Diagonale secondaire
2 4 6
3 7 8
1 5 4
Pour cette diagonale indiceLigne commence à n et est décrémenté jusqu’à 1 tandis que
l’indiceColonne commence de 1 à n.
M[3][1] = 1
M[2][2] = 7
M[1][3] = 6
Indice1 = nombreLigne ;
for(indice2=1 ;indice2 <= nombreColonne;indice2 + +){
traitement;
indiceLigne - -;
}
4. Application : Exercice
Soit un matrice carré M d’ordre 3 d’éléments de type entier, remplir cette matrice et effectuer
les opérations suivantes :