Vous êtes sur la page 1sur 2

U.M.M.T.

O Licence 1 Maths-Info
Département TC MI Année universitaire 2022/23

TP # 4 d'Algo 1
(Vecteurs et matrices)

I) Les vecteurs (tableaux à une dimension)


I.1) Déclaration : En langage C, un vecteur est déclaré selon la syntaxe suivante :
TypeDeDonnee nomVecteur [ taille ] ;
Exemple : int vect[10] ; permet de déclarer un vecteur de 10 entiers (int).
En général, la taille du vecteur est définie par la directive #define, au début du programme, juste en
dessous des directives #include. Exemple : #define N 10 (Pas de signe égal =, ni point-virgule ;)
La déclaration d'un tableau à une dimension réserve un espace de mémoire contigu (continu) dans
lequel les éléments (cases) du tableau sont rangés les uns à la suite des autres.
Chaque élément du vecteur vect est accessible par : vect[ indice ] (Indice est une expression entière).
Les indices commencent par 0 et vont jusqu’à taille – 1. C’est-à-dire indice = 0, 1, 2, …, taille – 1.

Remarque : Le langage C, ne vérifie pas si 0 ≤ indice ≤ taille – 1. Si indice < 0 ou indice ≥ taille, vous
essayer d’accéder à une position invalide car en dehors du vecteur et vous risquez :
d’obtenir des résultats aléatoires, d’écraser d’autres données qui n’appartiennent pas au vecteur, ou
votre programme est arrêté brutalement (sans avertissement) par le système d’exploitation.

I.2) Initialisation : Un vecteur peut être initialisé par une liste de valeurs entre deux accolades.
Exemple : Initialisation d’un vecteur de 10 entiers. int vect[10] = { 9, -6, 8, 77, 36, 47, -43, -3, 48, -1 } ;
0 1 2 3 4 5 6 7 8 9
vect 9 -6 8 77 36 47 -43 -3 48 -1
 On peut n’initialiser que les premières cases du vecteur, les autres cases seront automatiquement
initialisées à zéro. Exemple : Si on écrit : int vect[10] = { 9, -6, 8, 77} ; le tableau sera initialisé
comme suit :
vect 9 -6 8 77 0 0 0 0 0 0

 Pour initialiser toutes les cases du vecteur à zéro, on écrit alors : int tab[10] = { 0 } ;
II) Les matrices (tableaux à deux dimensions)
Exemple : On peut déclarer une matrice de 3 lignes et 4 colonnes comme suit : int mat[3][4] ;
Les indices de lignes sont 0, 1 et 2. Les indices de colonnes sont 0, 1, 2 et 3. Cette matrice peut être
initialisée comme suit : int mat[3][4] = { {11, 12, 13, 14 }, {21, 22, 23, 24 }, {31, 32, 33, 34}} ;

0 1 2 3

0 11 12 13 14
1 21 22 23 24
2
31 32 33 34

Page 1 sur 2
III) Travail à faire
Exercice 1 :

Ecrire un programme C qui lit la dimension N d'un vecteur T de type int (dimension maximale 50), puis il
devra :
1) Remplir le vecteur par des valeurs entrées au clavier et afficher le vecteur.
2) Calculer et afficher la somme des éléments du vecteur.
3) Déterminer la plus grande et la plus petite valeur dans le vecteur et afficher ensuite la valeur et la position
du maximum et du minimum. Si le vecteur contient plusieurs maxima ou minima, le programme retiendra la
position du premier maximum ou minimum rencontré.

Exercice 2 :

Ecrire un programme C qui permet de trier un vecteur de N réels dans l’ordre croissant.

Exercice 3 :

Écrire un programme C qui lit la dimension N d’une matrice d’entiers M carrée (au maximum 10*10) et de
saisir ensuite les éléments de cette matrice et un entier x. Afficher le nombre d’occurrences de x dans M.
Exemple: N=3
M = | 0 2 3 | Pour x=2, le programme affichera :
| 4 7 2 | le nombre d’occurrences de 2 dans M est 3
| 2 6 9 |

Exercice 4 :

Ecrire un programme C qui transfère une matrice d’entiers saisie M ( L , C) (dimensions maximales: 10
lignes et 10 colonnes) dans un tableau V à une dimension L*C. Afficher V.

Page 2 sur 2

Vous aimerez peut-être aussi