Prog C - Les Tableaux PDF

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

Tableaux Statiques :

Unidimensionnels
Multidimensionnels

Mme. Jinène Moslah

1
type nom_Tableau[ N ];
Réservation de N * taille du type espaces contiguës en mémoire

Exemples : float salaire[10];

#define NB_SALARIE 10
float salaire2[NB_SALARIE];

const int N = 10;


int Tprem[N]; 0 1 2 3 4 5 6 7 8 9
 Les indices d’un tableau varient de 0 à N – 1
 Chaque élément du tableau est une variable
 Le type est le même pour chaque élément du tableau
 Une fois déclaré, on ne peut pas redimensionner un tableau
statique

0 1 2 3 4 5 6 7 8 9
Un tableau peut être initialisé à la déclaration
int numero[10] = { 1, 11, 2, 3, 19, 5, 13, 17, 23,7} ;

numero est l’adresse en mémoire du


Ou par saisie premier élément du tableau
&(numero[0])
for(i = 0; i < 10; i++)
scanf("%d", &numero[i]);

L’initialisation peut aussi avoir lieu durant l’exécution du


programme for(i = 0; i < 10; i++) numero[i] = i*2;
0 1 2 3 4 5 6 7 8 9

1
0 11
2 2
4 3
6 19
8 10
5 13
12 17
14 23
16 18
7
void main(void)
{ void main(void)
int a[6]; a
{
int i = 7; 59 0
? 1 int i;
a[0] = 59; ? 2 int A[6] = { 1, 2,3, 5, 7, 11 };
a[5] = -10; 2 3
a[i/2] = 2; ? 4
for (i=0;i<6;i++)
-10 5 printf("%d ", A[i]);
}

Les tableaux consomment beaucoup de place mémoire.


On a donc intérêt à les dimensionner au plus juste.
5
Que fait le programme suivant ?

main()
Le programme compte le
{ nombre de 'a' dans le
const int N = 100; tableau Tcar

char Tcar [N];


int i, Nba;
Nba = 0;
for (i= 0; i < N; i = i +1)
if (Tcar[i] == 'a') Nba = Nba + 1;
}
Ecrire un programme qui vérifie si ‘a' est présent dans le
tableau Tcar et affiche sa position s’il existe

main(){
const int N = 100;
char Tcar [N];
int i ;

i = 0;
while ((i < N) && (Tcar[i] != ‘a')) i = i + 1;
if (i == N)
printf("a n'est pas dans le tableau ");
else
printf(" a est dans le tableau à la pos %d " , i);
}
 Déclaration 2 dimensions
type nom_tableau [n][m] ;
réservation de n*m cases contiguës en
mémoire
n : le nombre de lignes
m le nombre de colonnes
 Exemple

const int N = 3;
const int M = 4;
int Matrice[N] [M];
0 1 2 3 4 5 6 7 8 9

0 1 3 2 3 5 9 11 8 0 1
1 3 5 8 1 4 9 34 8 2 7
2 4 5 6 7 8 9 4 3 25 5
3 7 4 3 7 5 7 8 5 9 3
4 8 5 33 4 1 2 5 4 6 12

◦ Accessible par l'opération Matrice[i][j]


◦ exemple:
int x;
x = Matrice[1][6];

◦ On peut changer la valeur d'une case par


Matrice[i][j]=valeur;
Exemple : Matrice[1][6] = 34;
 Initialisation

◦ int tableau[4][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };

Cette instruction affecte les valeurs dans l’ordre suivant :


1 2 3
tableau[0][0] = 1 tableau[0][1] = 2 tableau[0][2] = 3
4 5 6
tableau[1][0] = 4 tableau[1][1] = 5 tableau[1][2] = 6 etc
7 8 9
tableau[3][0] = 10 tableau[3][1] = 11 tableau[3][2] = 12 10 11 12

◦ int tableau[4][3] = { { 1, 2, 3 } , { 4, 5, 6 } , { 7, 8, 9 } , { 10, 11, 12 } };


1. Mise à zéro de la diagonale principale d'une matrice

 Ecrire un programme qui :


◦ Permet la saisie d’une matrice carré de taille N*N, N donné par
l’utilisateur
◦ Met à zéro les éléments de la diagonale principale
◦ Affiche la matrice
2. Maximum et minimum des valeurs d'un tableau

Ecrire un programme qui :

◦ permet la saisie d’un tableau de N entiers, N est donné par l’utilisateur,


◦ détermine la plus grande et la plus petite valeur dans ce tableau.
◦ 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 premier maximum ou minimum rencontré.

Vous aimerez peut-être aussi