Sie sind auf Seite 1von 8

LES TABLEAUX

I-

INTRUDUCTION

Supposons qu'on veut conserver les notes d'une classe de 30 tudiants pour extraire quelques informations. Par exemple : calcul du nombre d'tudiants ayant une note suprieure 10. Le seul moyen dont nous disposons actuellement consiste dclarer 30 variables, par exemple N1, , N30. Aprs 30 instructions lire, on doit crire 30 instructions Si pour faire le calcul : nbre 0 Si (N1 >10) alors nbre nbre+1 FinSi . Si (N30>10) alors nbre nbre+1 FinSi Cest lourd crire Heureusement, les langages de programmation offrent la possibilit de rassembler toutes ces variables dans une seule structure de donne appele tableau.

IIa)

Les tableaux une dimension


Dfinition

Un tableau simple dimension T est une variable structure forme d'un nombre entier N lments du mme type, qui sont appels les composantes (appeles aussi cases ou cellules) du tableau. Le nombre de composantes N est alors la dimension du tableau.

b)

Dclaration

La dclaration d'un tableau s'effectue en prcisant le type de ses lments et sa dimension (le nombre de ses lments) Dclaration de tableaux en langage algorithmique : tableau <NomTableau>[<Dimension>] :<Type> Exemples Les dclarations en algorithmique : tableau A[25] : tableau B[100] : tableau D[30] : entier rel caractre

Dclaration de tableaux en langage C : <Type> <NomTableau>[<Dimension>] ; Exemples Les dclarations en C : int A[25]; float B[100]; char D[30];
LES TABLEAUX

1/ 8

CPGE AGADIR

c)

Accs aux composantes

Considrons un tableau T de dimension N, L'accs un lment du tableau se fait au moyen de l'indice. T[i] donne la valeur de l'lment i du tableau T. Selon les langages, le premier indice du tableau est soit 0, soit 1. Le plus souvent c'est 0. #define N 10 int T[N];
ind ice s

//const int N=10;


3 4 5 6 7 8 9

T: T[0] T[1] Exemple : Algorithme Pour le calcul du nombre d'tudiants ayant une note suprieure ou gale 10 avec les tableaux, on peut crire : Algorithme gestion_des_notes Constante N=30 Variable i , nbre : entier tableau notes[N] : rel Dbut pour i0 jusqu N-1 faire Ecrire ("donner la note " , i) Lire( note[i]) Fin pour nbre 0 pour i0 jusqu N-1 faire Si (notes[i]>=10) alors nbre nbre+1 FinSi FinPour Ecrire ("le nombre de notes suprieures ou egales 10 est : ", nbre) Fin T[5] T[9]

LES TABLEAUX

2/ 8

CPGE AGADIR

Traduction en C++ : #include <iostream> using namespace std; const int N=4; int i,nbre; float notes[N]; main() { //lecture des donnes for(i=0;i<N;i++) { cout<<"Donner la note "<<i+1<<":"; cin>>notes[i]; } nbre=0; for(i=0;i<N;i++) { if(notes[i]>=10) nbre++; } cout<<"le nombre de notes suprieures ou egales 10 est:"<<nbre<<endl; system("pause"); } d) Initialisation et rservation automatique

Initialisation Lors de la dclaration d'un tableau, on peut initialiser les composantes du tableau, en indiquant la liste des valeurs respectives entre accolades. Exemples int A[5] int C[10] = {10, 20, 30, 40, 50}; = {1, 0, 0, 1, 1, 1, 0, 1, 0, 1};

float B[4] = {-1.05, 3.33, 87e-5, -12.3E4};

Il faut videmment veiller ce que le nombre de valeurs dans la liste corresponde la dimension du tableau. Si la liste ne contient pas assez de valeurs pour toutes les composantes, les composantes restantes sont initialises par zro. Rservation automatique Si la dimension n'est pas indique explicitement lors de l'initialisation, alors l'ordinateur rserve automatiquement le nombre d'octets ncessaires. Exemples int A[] = {10, 20, 30, 40, 50};
==>

rservation de 5*4 octets (dans notre cas: 20 octets)

float B[] = {-1.05, 3.33, 87e-5, -12.3E4}; ==>

rservation de 4*4 octets (dans notre cas: 16 octets) 3/ 8


CPGE AGADIR

LES TABLEAUX

short C[] = {1, 0, 0, 1, 1, 1, 0, 1, 0, 1}; ==>

rservation de 10*2 octets (dans notre cas: 20 octets)

Exemples

Exercices : Exercice 1 Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entres au clavier et affiche le tableau. Calculer et afficher ensuite la somme des lments du tableau. Exercice 2

Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entres au clavier et affiche le tableau. Calculer et afficher ensuite la Moyenne. Le Maximum et le Minum des lements du tableau Exercice 3 Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entres au clavier et affiche le tableau. Ranger ensuite les lments du tableau T dans l'ordre inverse sans utiliser de tableau d'aide. Afficher le tableau rsultant. Ide: Echanger les lments du tableau l'aide de deux indices qui parcourent le tableau en commenant respectivement au dbut et la fin du tableau et qui se rencontrent en son milieu. Exercice 4 Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entres au clavier et affiche le tableau. Copiez ensuite toutes les composantes strictement positives dans un deuxime tableau TPOS et toutes les valeurs strictement ngatives dans un troisime tableau TNEG. Afficher les tableaux TPOS et TNEG.
LES TABLEAUX

4/ 8

CPGE AGADIR

LES TABLEAUX

5/ 8

CPGE AGADIR

Les tableaux deux dimensions


a. Dfinition

En C, un tableau deux dimensions A est interprter comme un tableau (simple dimensionnel) de dimension L dont chaque compos ante est un tableau (simple dimensionnel) de dimension C. On appelle L le nombre de lignes du tableau et C le nombre de colonnes du tableau. L et C sont alors les deux dimensions du tableau. Un tableau deux dimensions contient donc L*C composantes.

On dit qu'un tableau deux dimensions est carr, si L est gal C. En faisant le rapprochement avec les mathmatiques, on peut dire que "A est un vecteur de L vecteurs de dimension C", ou mieux: "A est une matrice de dimensions L et C". Exemple Considrons un tableau NOTES une dimension pour mmoriser les notes de 20 lves d'une classe pour un devoir:
float NOTES[20] = {12.5, 13.4, ... , 10, 8.75};

Pour mmoriser les notes des lves dans les 10 devoirs d'un trimestre, nous pouvons rassembler plusieurs de ces tableaux simples dimensionnels dans un tableau NOTES deux dimensions :
float NOTES[10][20] = {{12.5, 13.4, ... , 10, 8.75}, {19, 12.5, ... , 11, 8.5}, ... ... ... {14, 4, ... , 15, 4.54}};

12.5 19 ... 14.4

13.4 12.5 ... 4

... ... ... ...

NOTES 10 8.75 11 8.5 ... ... 15 4.5

Dans une ligne nous retrouvons les notes de tous les lves dans un devoir. Dans une colonne, nous retrouvons toutes les notes d'un lve.
LES TABLEAUX

6/ 8

CPGE AGADIR

b.

Dclaration

Dclaration de tableaux deux dimensions en lang. algorithmique


tableau <NomTabl>[<DimLigne>,<DimCol>] : <TypeSimple>

Dclaration de tableaux deux dimensions en C


<TypeSimple> <NomTabl>[<DimLigne>][<DimCol>];

Exemples Les dclarations suivantes en langage algorithmique, tableau tableau tableau tableau A[10,10] : entier B[2,20] : rel C[3,3] : boolen D[15,40] : caractre

se laissent traduire en C par:

int A[10][10]; float B[2][20]; int C[3][3]; char D[15][40];

c.

Accs aux composantes

Soit le tableau T dclar comme suit : int T[6][4] ; T 0 0 1 2 3 4 5 1 2 3

Exemple :

LES TABLEAUX

7/ 8

CPGE AGADIR

Algorithme qui permet de saisir les lments d'une matrice Algorithme SaisieMatrice Constantes nmax=50, mmax=50 Variables i,j, n,m : entier tableau A[nmax,mmax] : rel Dbut Ecrire("Donner le nombre de lignes et de colonnes :") ; Lire(n,m) ; Pour i allant de 0 n-1 crire ("saisie de la ligne ", i + 1) Pour j allant de 0 m-1 crire ("Entrez l'lment de la ligne ", i + 1, " et de la colonne ", j+1) lire (A[i,j]) FinPour FinPour Fin Exercices : Exercice 6 Ecrire un programme qui lit les dimensions L et C d'un tableau T deux dimensions du type int (dimensions maximales: 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entres au clavier et afficher le tableau ainsi que la somme de tous ses lments. Exercice 7 Ecrire un programme qui lit les dimensions L et C d'un tableau T deux dimensions du type int (dimensions maximales: 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entres au clavier et afficher le tableau ainsi que la somme de chaque ligne et de chaque colonne en n'utilisant qu'une variable d'aide pour la somme.

LES TABLEAUX

8/ 8

CPGE AGADIR

Das könnte Ihnen auch gefallen