Cours de langage C Les tableaux Les tableaux
Cours de langage C Les tableaux
Les tableaux Définition Un tableau est un regroupement, dans une même variable, de plusieurs données de même type stockées de manière contiguë en mémoire. Un tableau peut être: unidimensionnel: vecteur. multidimensionnel: matrice.
Les tableaux unidimensionnels: Syntaxe: type <nom_tableau> [dim] Exemple: int T[10] ; • Les tableaux commencent à l'indice 0 et vont à l'indice dim-1. • T[i] correspond au (i+1)ième élément du tableau Initialisation: se fait avec une liste des valeurs respectives, séparées par des virgules et délimitées par les accolades { et }.
Les tableaux unidimensionnels accés aux composantes: Pour accéder à une composante, il suffit de donner le nom du tableau, suivi de l’indice de la composante entre crochets: <identifiant> [indice] exemple Soit le vecteur M[5]. Les 5 éléments de ce vecteur sont: M[0] , M[1] , M[2] , M[3] , M[4] • Un élément du tableau peut être manipulé exactement comme une variable. • T[i] correspond au (i+1)ième élément du tableau. • Les opérations d'affectation, de comparaison. . . ne peuvent être réalisées qu'élément par élément.
Les tableaux unidimensionnels initialisation ♦ initialisation à la déclaration: Elle se fait avec une liste des valeurs respectives, séparées par des virgules et délimitées par les accolades { et }. int M[8] = { 13 , 5 , 18 , 22 , 7 , 11 , 0 } ; M[0]=13 , M[1]=5 , M[2]=18 , M[3]=2 , M[4]=22 , M[5]=7 , M[6]=11, M[7]=0 ♦ initialisation d’une partie du tableau: int M[8] = { 13 , 5 , 18 , 2 } ; ♦ initialiser sans spécifier la taille du tableau: int M[ ] = { 13 , 5 , 18 , 2} ;
Les tableaux unidimensionnels Lecture - écriture #include <stdio. h> // inclusion des bibliothèques #include <conio. h> void main() { float note[10]; // déclaration du tableau int i , dim ; // indice de parcourt, nombre d’éléments à saisir /* saisie des notes */ printf("Donner le nombre de notes à saisir: n"); scanf("%d", &dim); for ( i=0 ; i<dim ; i++ ) { printf("note[%d] = ", i+1); scanf("%f", ¬e[i]); } /* affichage du tableau de notes */ printf("Les notes que vous avez saisi sont les suivantes: n"); for ( i=0 ; i<dim ; i++ ) printf("note[%d] = %fn", i+1, note[i]); }
Les tableaux bidimensionnels Syntaxe: type <nom_tableau> [nlig] [ncol] Exemple: float note[10][3]; • le tableau contient nlig*ncol composantes. • Les tableaux commencent aux indices 0, 0 et vont aux indices nlig-1, ncol-1. • exemples: float note[10][3] ; - matrice à 10 lignes et 3 colonnes - le premier élément de la matrice est note[0][0] et le dernier est note[9][2]
Les tableaux bidimensionnels C’est un tableau de tableaux. Une matrice M[7][3] peut être représentée ainsi: M[0][0]=2 M[1][0]=3 M[2][0]=2 M[6][0]=8 M[0][1]=1 M[1][1]=5 M[2][1]=4 M[6][1]=6 M[0][2]=4 M[1][2]=7 M[2][2]=9 M[6][2]=1
Les tableaux bidimensionnels Déclaration avec initialisation Elle se fait avec une liste entre accolades. A l'intérieur de cette liste, les composantes de chaque ligne sont encore une fois comprises entre accolades. int matrice [4][3] = { {1, 2, 3} , {4, 5, 6} , {7, 8, 9} , {10, 11, 12} } Accès aux composantes se fait par l’intermédiaire du nom de la matrice, suivi des deux indices associés à la composante, chacun entre les deux crochets: <nom_tableau> [ind_ligne] [ind_colonne] matrice[i][j] correpond au (i+1)ième ligne et (j+1)ième colonne
#include <stdio. h> Lecture - écriture #include <conio. h> void main() { float A[6][6]; int i, j, nl, nc; // nl et nc, nombre de lignes et de colonnes de la matrice printf("Donner le nombre de lignes de la matrice: n"); scanf("%d", &nl); printf("Donner le nombre de colonnes de la matrice: n"); scanf("%d", &nc); printf("n. Remplissage de la matrice: lecture des composantes n"); for( i=0 ; i<nl ; i++ ) for( j=0 ; j<nc ; j++ ) { printf("A[%d] = ", i+1, j+1); scanf("%f", &A[i][j]); } printf("Affichage de la matrice: n"); } for(i=0; i<nl; i++) for(j=0; j<nc; j++) printf("%f`t", A[i][j]) ;
Les tableaux exercice 2 : Ecrire un programme qui recherche dans un tableau Tab donné d'entiers de dimension N, une valeur A et affiche s'il la trouve l’indice de sa position, sinon il affiche " nombre introuvable ".
// programme cherchant une valeur dans un tableau Tab (entier) #include <stdio. h> #include <conio. h> void main() { int T[10] ; // tableau de données de dimension 10 int dim, i, val ; // dim : dimension, i : compteur /* Lecture de la dimension du tableau */ printf("Saisir dimension du tableau: "); scanf("%d", &dim); for( i=0 ; i<dim ; i++ ) { printf("T[%d]= ", i+1) ; scanf("%d", &T[i]) ; } /* Lecture de la valeur recherchée */ printf("Saisir valeur à recher: "); scanf("%d", &val); i=1 ; while(T[i]!=val) i=i+1; /* Affichage du Résultat */ } if(i>dim ) printf("Nombre introuvable" ) ; else printf("La composante se trouve a la position: %d", i+1); getch();
Les chaînes de caractères
Les chaînes de caractères Définition: • Une chaîne de caractères est une suite de caractères stockés dans un tableau. • Une chaîne doit impérativement se terminer par le caractère '