Club Informatique VINCI

Le C.I.V représente un groupement d'étudiants constituant le club informatique de la Grande École Marocaine de l'Informatique et des Réseaux du Télécom VINCI -Rabat-. (L'utilisation de Internet explorer 6/7 n'est pas recommandée, on vous propose Firefox)

Les forums du C.I.V attend vos propositions en ce qui concerne le graphique, les catégories, et les sections.

Connexion

Récupérer mon mot de passe

Sondage

Quel est votre antivirus préféré ?
16% 16% [ 4 ]
32% 32% [ 8 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
36% 36% [ 9 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
8% 8% [ 2 ]
8% 8% [ 2 ]

Total des votes : 25

Qui est en ligne ?

Il y a en tout 3 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 3 Invités

Aucun


[ Voir toute la liste ]


Le record du nombre d'utilisateurs en ligne est de 23 le Mer 17 Oct - 12:31

Statistiques

Nos membres ont posté un total de 1292 messages dans 373 sujets

Nous avons 437 membres enregistrés

L'utilisateur enregistré le plus récent est intellection


    Tableaux (A.Elghazi/S.Elhajji)

    Partagez
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 3980
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 28
    Localisation : ErRabat

    Tableaux (A.Elghazi/S.Elhajji)

    Message par El Maligno Angelo le Mer 30 Sep - 6:51

    Introduction
    Comme tous les langages, C permet d'utiliser des "tableaux". On nomme ainsi un ensemble d'éléments de
    même type désignés par un identificateur unique; chaque élément est repéré par un "indice" précisant sa
    position au sein de l'ensemble.
    Par ailleurs le langage C dispose de "pointeurs", c'est-à-dire de variables destinées à contenir des adresses
    d'autres "objets" (variables, fonctions. . .).
    A priori, ces deux notions de tableaux et de pointeurs peuvent paraître fort éloignées l'une de l'autre.
    Toutefois, il se trouve qu'en C un lien indirect existe entre ces deux notions, à savoir qu'un identificateur
    de tableau est une "constante pointeur". Cela peut se répercuter dans le traitement des tableaux,
    notamment lorsque ceux-ci sont transmis en argument de l'appel d'une fonction.
    C'est ce qui justifie que ces deux notions soient regroupées dans un seul chapitre.
    Les tableau à un indice
    Exemple d'utilisation d'un tableau en C
    Supposons que nous souhaitions déterminer, à partir de vingt notes d'élèves (fournies en données),
    combien d'entre elles sont supérieures à la moyenne de la classe.
    S'il ne s'agissait que de calculer simplement la moyenne de ces notes, il nous suffirait d'en calculer la
    somme, en les cumulant dans une variable, au fur et à mesure de leur lecture. Mais, ici, il nous faut à
    nouveau pouvoir consulter les notes pour déterminer combien d'entre elles sont supérieures à la moyenne
    ainsi obtenue. Il est donc nécessaire de pouvoir "mémoriser" ces vingt notes.
    Pour ce faire, il paraît peu raisonnable de prévoir vingt variables scalaires différentes (méthode qui, de
    toute manière, serait difficilement transposable à un nombre important de notes).
    Le tableau va nous offrir une solution convenable à ce problème, comme le montre le programme suivant.
    Code:
    #include <stdio.h>
    int main(void)
    { int i, som, nbm ;
    double moy ;
    int t[20] ;
    for (i=0 ; i<20 ; i++)
    { printf ("donnez la note numéro %d : ", i+1) ;
    scanf ("%d", &t[i]) ;
    }
    for(i=0, som=0 ; i<20 ; i++) som += t[i] ;
    moy = som / 20 ;
    printf ("\n\n moyenne de la classe : %f\n", moy) ;
    for (i=0, nbm=0 ; i<20 ; i++ )
    if (t[i] > moy) nbm++ ;
    printf ("%d élèves ont plus de cette moyenne", nbm) ;
    return 0 ;
    }
    La déclaration : int t[20] réserve l'emplacement pour 20 éléments de type int. Chaque élément est repéré
    par sa ''position" dans le tableau, nommée "indice". Conventionnellement, en langage C, la première
    position porte le numéro 0. Ici, donc, nos indices vont de 0 à 19. Le premier élément du tableau sera
    désigné par t[0], le troisième par t[2] le dernier par t[l9].
    Langage C
    19
    Plus généralement, une notation telle que t[i] désigne un élément dont la position dans le tableau est
    fournie par la valeur de i. Elle joue le même rôle qu'une variable scalaire de type int.
    Quelques régles
    Les éléments de tableau
    Un élément de tableau est une lvalue. Il peut donc apparaître à gauche d'un opérateur d'affectation comme
    dans:
    Code:
    t[2] = 5
    Il peut aussi apparaître comme opérande d'un opérateur d'incrémentation, comme dans:
    Code:
    t[3]++ --t[i]
    En revanche, il n'est pas possible, si tl et t2 sont des tableaux d'entiers, d'écrire tl = t2;
    Les indices
    Un indice peut prendre la forme de n'importe quelle expression arithmétique de type entier (ou caractère,
    compte tenu des règles de conversion systématique).
    La dimension d'un tableau
    La dimension d'un tableau (son nombre d'éléments) ne peut être qu'une constante ou une expression
    constante.
    Ainsi, cette construction :
    Code:
    #define N 50
    ....
    int t[N] ; double h[2*N- 1 ];
    est correcte. Elle ne le serait pas, par contre, si N était une constante symbolique définie par const int N =
    50 (les expressions N et 2*N-1 n'étant alors plus calculables par le compilateur).
    Débordement d'indice
    Aucun contrôle de "débordement d'indice" n'est mis en place par la plupart des compilateurs. Pour en
    comprendre les conséquences, il faut savoir que, lorsque le compilateur rencontre une lvalue telle que t[i] ,
    il en détermine l'adresse en ajoutant à l'adresse de début du tableau t, un ''décalage" proportionnel à la
    valeur de i (et aussi proportionnel à la taille de chaque élément du tableau). De sorte qu'il est très facile (si
    l'on peut dire !) de désigner et, partant, de modifier, un emplacement situé avant ou après le tableau.
    Les tableau à plusieurs indices
    Leur déclaration
    Comme tous les langages, C autorise les tableaux à plusieurs indices (on dit aussi à plusieurs dimensions).
    Par exemple, la déclaration:
    int t[5][3] réserve un tableau de 15 (5 x 3) éléments. Un élément quelconque de ce tableau se trouve alors
    repéré par deux indices comme dans ces notations:
    t[3][2] t[i][j] t[i-3][i +j]
    Notez bien que, 1à encore, la notation désignant un élément d'un tel tableau est une lvalue.


    _________________
    it's awesome to feel...what others can't, but i think doin' what poeple cannot do make u surpass feelings step !!

    nounou_001
    Amateur
    Amateur

    Messages : 8
    Points : 2932
    Réputation : 1
    Date d'inscription : 03/11/2009
    Age : 26
    Localisation : Benslimane

    Re: Tableaux (A.Elghazi/S.Elhajji)

    Message par nounou_001 le Jeu 17 Déc - 15:43

    merci bcp oussama!! c trés interessant
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 3980
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 28
    Localisation : ErRabat

    Re: Tableaux (A.Elghazi/S.Elhajji)

    Message par El Maligno Angelo le Jeu 17 Déc - 15:49

    Merci a toi, ca fait plaisir de le savoir Wink


    _________________
    it's awesome to feel...what others can't, but i think doin' what poeple cannot do make u surpass feelings step !!

    Contenu sponsorisé

    Re: Tableaux (A.Elghazi/S.Elhajji)

    Message par Contenu sponsorisé


      La date/heure actuelle est Mar 24 Oct - 3:40