Vous êtes sur la page 1sur 5

TP 

4 C++ : Vecteurs et Matrices  

1.Vecteur :

1.1. Déclaration et mémorisation

se laissent traduire en C++ par:

int A[25]; ou bien long A[25];


float B[100]; ou bien double B[100];
int C[10];
char D[30];

1.2. Initialisation et réservation automatique


int A[5] = {10, 20, 30, 40, 50};
float B[4] = {-1.05, 3.33, 87e-5, -12.3E4};
int C[10] = {1, 0, 0, 1, 1, 1, 0, 1, 0, 1};
 

Attention !

Considérons un tableau T de dimension N:

En C++,

- l'accès au premier élément du tableau se fait par T[0]

- l'accès au dernier élément du tableau se fait par T[N-1]

Un exemple de Remplissage du vecteur A compose de 5(N=5) elements des type


int , comme déjà expliquer précédemment le premier element est A[0] , le
dernier est A[4] (A[N-1]=A[4]) ,

Attention : a ne pas confondre entre la declaration int A[5]qui veut dire


un vecteur de 5 elements de type int.

Comme vous pouvez le constater dans la boucle de remplissage presente ci-


dessous la valeur max du compteur I est 4 puisque on a ecrit (I<5).

Remplissage :

main()
{
int A[5];
int I; /* Compteur */
for (I=0; I<5; I++)
cin>> A[I];

}
TP 4 C++ : Vecteurs et Matrices  

Affichege du vecteur déjà remplis :

main()
{
int A[5];
int I; /* Compteur */
for (I=0; I<5; I++)
cout<< A[I];

}
 

2.Matrice :  
int NOTE[10][20] = {{45, 34, ... , 50, 48},
{39, 24, ... , 49, 45},
... ... ...
{40, 40, ... , 54, 44}};

 
se laissent traduire en C++ par:

int A[10][10]; ou bien long A[10][10];


float B[2][20]; ou bien double B[2][20];
int C[3][3];
char D[15][40];

Les éléments d'un tableau de dimensions L et C se présentent de la façon suivante:

/ \
| A[0][0] A[0][1] A[0][2] . . . A[0][C-1] |
| A[1][0] A[1][1] A[1][2] . . . A[1][C-1] |
| A[2][0] A[2][1] A[2][2] . . . A[2][C-1] |
| . . . . . . . . . . . . . . . |
| A[L-1][0] A[L-1][1] A[L-1][2] . . . A[L-1][C-1] |
\ /
TP 4 C++ : Vecteurs et Matrices  

Attention !

Considérons un tableau A de dimensions L et C.

En C++,

- les indices du tableau varient de 0 à L-1, respectivement de 0 à C-1.

- la composante de la Nième ligne et Mième colonne est notée: A[N-1][M-1]

Remplissage par ligne :  
main()
{
int A[5][10];
int I,J;
/* Pour chaque ligne ... */
for (I=0; I<5; I++)
{
/* ... considérer chaque composante */
for (J=0; J<10; J++)
cin>> A[I][J];
/* Retour à la ligne */
Cout<<endl ;
}
}
 
Pour le remplissage d une matrice vous avez besoin de deux boucles , une pour balayer les 
lignes(I) et l’autre pour les colonnes (J) , donc il sagit de lire un element A[I][J] 

 
Pour le remplissage par colonnes il suffira d’inverser l’ordre des boucles , mais il l’element 
reste toujours A[I][J] et pas A[J][I]   . 

 
TP 4 C++ : Vecteurs et Matrices  

3.Exercices : 

3.1.Vecteurs :  
Exercice 1 :  

Soit un vecteur A[5] de type int , ecrire un programme qui permet de calculer S la somme 
des elements du vecteur A , et M la moyenne de ces elements . 

Exercice 2 : 

Ecrire un programme qui permet de calculer la somme de deux vecteurs A[3] et B[3] de type 
int . 

Exercice 3 : 

Ecrie un programme qui permet d’ajouter (+1) aux elements du vecteur A , qui ont une 
position paire (element A[I] si I est paire donc ajouter +1 à A[I] )et de soustraire (‐1) Pour les 
elements  qui ont une position impaire. 

Exercice 4 : 

Ecrire un programme qui permet de calculer le produit scalaire de deux vecteur A[4] B[4]. 

Exercice 5 : 

Ecrire un programme qui permet de calculer la somme des elements posostifs et la somme 
des elements negatif d’un vecteurs A[10]. 

Exercice 6 : 

a  x  b
Soit :    
 y  x 1
2

Ecrire un programme qui permet de diviser l’entrevalle de x en n division , et calculer les 
vecteurs x[n] et y[n].  

Exercice 7 : 

Ecrire un programme en langage C++ qui lit la dimension N d'un vecteur T du type int ,remplit le 
tableau par des valeurs entrées au clavier et affiche le vecteur.  
Copiez ensuite toutes les composantes strictement positives dans un deuxième vecteur TPOS et 
toutes les valeurs strictement négatives dans un troisième vecteur TNEG. Afficher les vecteurs TPOS 
et TNEG. 

 
TP 4 C++ : Vecteurs et Matrices  

Exercice 8 : 

Ecrire un programme qui permet de trier en ordre croissant les éléments d’un vecteur A[N] 
de type int . 

Exercice 9 : 

Ecrire un programme qui permet de consolider deux vecteurs A[N] et B[M] dans un 
troisième vecteur C. 

Exercice 10 : 

Ecrire un programme qui détermine la plus grande et la plus petite valeur dans un tableau 
d'entiers A. Afficher ensuite la valeur et la position du maximum et du minimum. Si le 
tableau contient plusieurs maxima ou minima, le programme retiendra la position du dernier 
maximum ou minimum rencontré. 

Vous aimerez peut-être aussi