Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chap8 Tableaux

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

CHAPITRE

8
Les tableaux

I- Définition

II- Tableau à une dimension

III- Tableau à deux dimensions :

Mr Seif Weslati Page 1


I- Définition:

Un tableau est un regroupement de plusieurs éléments de même type dans une seule variable.
la taille d’un tableau est connue à priori lors de la déclaration.

II- Tableau à une dimension :

 Syntaxe :

Type_valeur nom_tableau [taille] ;

Avec :

Type_valeur : est le type des éléments qui figurent dans le tableau, peut être un type scalaire
ou structuré (structures, tableaux…).

Nom_tableau : est l’identifiant du tableau.

Taille : est le nombre de case dans le tableau déclaré.

Exemple :

int tab[10];

tab[0] tab[9]

Ceci réserve en mémoire un espace contigu pouvant contenir 10 entiers. Le premier est tab[0],
jusqu'à tab[9].

Le langage C ne contrôle pas le domaine de validité de l’indice lors de l’accès à un élément.

En effet : tab[indice] est géré de cette façon :

- Si l’indice appartient à l’intervalle 0..9, il est valide et fournit le contenu de la case du


tab[indice].

- Si l’indice est supérieure à 9, il est invalide et fournit une valeur quelconque de la mémoire.

 Initialisation d’un tableau :

On peut initialiser un tableau, dans ce cas la dimension n'est pas nécessaire. Mais si elle est
donnée, et est supérieure au nombre de valeurs données, les suivantes seront initialisées à 0.

Mr Seif Weslati Page 2


Exemple :

int chiffres[]={0,1,2,3,4,5,6,7,8,9}; /* chiffre est un tableau de 10 chiffre */


int tableau[20]={0,1,2}; /* les 17 qui restent initialisées à 0 */

 Accès à un élément du tableau :

Pour désigner un élément appartenant à un tableau, on fait appel à la notation suivante.

Nom_tableau[ expression entière].

Exemple :

Int tab[5] ;

Int i=1 ;

Tab[i+1]; /* l’expression entre crochet est évaluée pour donner la valeur de l’indice qui
est égale à 2 */.

Application :

Ecrire un programme C qui déclare un tableau tab1 d’entiers, ensuite affiche dans un autre
tableau tab2 les nombres positifs de tab1.

Correction :

#include<stdio.h>

Main()

Int i, j=0;

Int tab1[10] ;

Int tab2[10] ;

For(i=0 ; i≤ 9 ;i ++) ;

{ Printf(“donner le nombre %d du tableau tab1”, i);

Scanf(« %d »,& tab1[i]) ;

Mr Seif Weslati Page 3


For(i=0 ; i≤ 9 ;i ++) ;

If( tab1[i] ≥ 0)

Tab2[j]= Tab1[i];

j++;

For(j=0 ; j≤ 9 ;j ++)

Printf(“le nombre %d du tableau est %d”, j,tab2[j]);

III- Tableau à deux dimensions :

 Syntaxe :

Type_valeur nom_tableau [taille1][taille2] ;

Avec :

Type_valeur : est le type des éléments qui figurent dans le tableau.

Nom_tableau : est l’identifiant du tableau.

Taille 1 : est le nombre de ligne déclaré.

Taille 2: est le nombre de colonne déclaré.

Exemple :

float tab[3][3];

tab[1][2]

tab[0][0]

Ceci réserve en mémoire un espace contigu pouvant contenir 9 entiers.

Mr Seif Weslati Page 4


Et dans le cas général, un tableau multidimensionnel se déclare comme suit :

Type_valeur nom_tableau [taille1][taille2]…[taille n] ;

 Initialisation d’un tableau :

On peut initialiser un tableau à deux dimensions (matrice) de la façon suivante :

Exemple :

int matrice[3][4]={{1, 2, 6, 8},

{12, 0, 98, 6},

{5 ,4 , 34, 0}} ;

 Accès à un élément du tableau :

Pour accéder à un élément appartenant à un tableau à deux dimensions, on fait appel à la


notation suivante.

Nom_tableau[ expression entière1][ expression entière2].

Avec expression entière1 désigne le numéro de la ligne et expression entière2 désigne le


numéro de la colonne.

Exemple :

int matrice[3][4]={{1, 2, 6, 8},

{12, 0, 98, 6},

{5 ,4 , 34, 0}} ;

Matrice[1][3] =6

Application :

Ecrire un programme C qui déclare et saisit une matrice de 2 lignes et 3 colonnes,


ensuite l’affiche.

Mr Seif Weslati Page 5


Correction :

#include<stdio.h>

Main()

Int matrice[2][3];

Int i, j;

For(i=0 ; i≤ 1 ;i ++) ;

{ For(j=0 ; j≤ 2 ;j ++) ;

Printf(“donner l’élément de la matrice”);

Scanf(« %d »,& matrice[i][j]) ;

For(i=0 ; i≤ 1 ;i ++) ;

{ For(j=0 ; j≤ 2 ;j ++) ;

Printf(“les éléments de la matrice sont %d ”, matrice[i][j] );

Mr Seif Weslati Page 6

Vous aimerez peut-être aussi