You are on page 1of 21

Module: Algorithmique et programmation 2

Chapitre 1: Les Tableaux uni et multidimensionnel

MIPC
ABDALI Abdelmounaïm
2020/2021
LES TABLEAUX

• Un tableau est un ensemble homogène (de même type) de


données, ordonnée et de taille statique.

• Il fut un ensemble d'octets permettant de représenter une


liste d'éléments de même type.
• Un tableau est une zone mémoire constituée de cases contigües ou
sont rangées des données de même type.

• Les cases ont donc une taille identique.

• Un tableau possède un nombre fixe de cases qui doit être connu


quand il est crée.

• La zone mémoire possède donc un début et une fin. Pour accéder à


une case, nous utilisons un indice qui repère le numéro de la case a
laquelle on fait référence
TABLEAUX A UNE DIMENSION (VECTEURS)
• DECLARATION
Exemple

Les indices d'un tableau sont des entiers


commençant à 0.
#include <stdio.h> Exemple
int main(){
int a[5];
int i;

printf("Donner les elements du tableaux a\n");

for (i=0;i<5;i++)
scanf("%d",&a[i]);

//Affichage

for(i=0;i<5;i++)
printf("pour l\'element i=%d, a[%d]=%d\n",i,i,a[i]);

getch();
return 0;
}
Représentation physique

#define taille 3 /*taille: constante de valeur 3*/


main( )
{
char T [taille]; /*T : tableau de 3 caractères : a, b et c*/
T[0]='a';
T[1]='b';
T[2]='c';
}
Déclaration des tableaux
INITIALISATION
Calcul de la taille du tableau
LECTURE ET AFFICHAGE

Les éléments d'un tableau sont à lire et à afficher élément par


élément.

Exemple:
#include <stdio.h>
#define taille 20 /*taille: constante de valeur 20*/
main( )
{
int i, t [taille]; /*t: tableau de 20 entiers*/
for(i=0;i<taille;i++)
scanf ("%d",&t[i]);

for(i=0;i<taille;i++)
printf ("%d\n",t[i]);
}
AFFECTATION
L'affectation de valeurs aux éléments d'un tableau se fait également individuellement
(comme pour la lecture et l'affichage).

Exemple:
#include <stdio.h>
#define taille 20 /*taille: constante de valeur 20*/

main( )
{

int i, t [taille]; /*t: tableau de 20 entiers*/


for(i=0;i<taille;i++) /*affecte i à chaque élément d'indice i*/
t[i]=i;
}
Remarques :
• L'affectation d'un tableau B à un autre tableau
A se fait élément par élément. Une affectation
"brutale" de B à A (A=B) n'est pas possible.

• L'affectation élément par élément d'un


tableau B à un autre tableau A (A[i]=B[i])
réalise une copie de B dans A.
Exemple: Affectation d'un tableau à un autre
élément par élément

#define taille 3 /*taille: constante de valeur 3*/


main( )
{
int i, A [taille]={7,8,9}; /*A : tableau de 3 entiers : 7, 8 et 9*/
int B [taille]={4,5,6}; /*B : tableau de 3 entiers : 4, 5 et 6*/

for(i=0;i<taille;i++) /*copie les éléments de B dans A*/


A[i]=B[i];
for(i=0;i<taille;i++)
A[i]=i;
}
COMPARAISON DE DEUX TABLEAUX:

La comparaison des éléments de deux tableaux


doit se faire élément par élément.
Tableau à N dimensions

You might also like