IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Libj[][10]**Tableaux à deux dimensions**


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut Libj[][10]**Tableaux à deux dimensions**
    Bonsoir,
    Dans une exercice j’ai trouver un Libj ( Lib Jour ) comme suit :
    Libj[][10]={"Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"};

    J’ai essayé de la modifier en donnant [] [6] (de 0 à 6) car en a 7 jour seulement mais sa a pas marché.
    Ma question c’est pourquoi 10 et non pas 6 ou 7 (même 8 ou 9) et combien d’espace va être réservé par le compilateur.
    Et Merci .

  2. #2
    Membre émérite Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Par défaut
    Bonjour,

    Citation Envoyé par btakeshi Voir le message
    J’ai essayé de la modifier en donnant [] [6] (de 0 à 6) car en a 7 jour seulement mais sa a pas marché.
    Si tu déclares un tableau de 6 cases, elles vont aller de 0 à 5…

    Citation Envoyé par btakeshi Voir le message
    Ma question c’est pourquoi 10 et non pas 6 ou 7 (même 8 ou 9)
    Lorsque l'on déclare un tableau, le compilateur a besoin de connaître la taille toutes les dimensions, excepté pour la première, afin de réserver la mémoire nécessaire.
    Ici, si l'on considère « Libj » comme un tableau à deux dimensions, la première dimension correspond aux chaînes de caractères, et la seconde dimension au contenu de chanque chaîne.

    Le nombre « 10 » correspond à la deuxième dimension, donc à la taille des chaînes du tableau, et non pas au nombre de chaînes.
    Et alors « Libj » un tableau d'un nombre inconnu (déterminé à la compilation) de chaînes de 10 caractères (au maximum, caractère nul compris) chacune.
    Je suppose que c'est pour être sûr d'avoir suffisamment de place.

    Citation Envoyé par btakeshi Voir le message
    combien d’espace va être réservé par le compilateur.
    Si je ne me trompe pas, tous les éléments (du dernier niveau) sont stockés de manière continue (contigûe ?) en mémoire.
    Comme on l'a vu, chaque élément du premier niveau est constitué de 10 éléments ; il y a 7 éléments au premier niveau.
    Soit 7 × 10 = 70 cases.

    Comme un caractère fait (a priori) un octet, le compilateur va réserver 70 octets pour ce tableau.

    En interne, le tableau devrait être rempli de cette manière (les « ? » indiquent des caractères indéfinis) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {'L',  'u',  'n',  'd',  'i',  '\0', ?,    ?,    ?,    ?,
     'M',  'a',  'r',  'd',  'i',  '\0', ?,    ?,    ?,    ?,
     'M',  'e',  'r',  'c',  'r',  'e',  'd',  'i',  '\0', ?,
     'J',  'e',  'u',  'd',  'i',  '\0', ?,    ?,    ?,    ?,
     'V',  'e',  'n',  'd',  'r',  'e',  'd',  'i',  '\0', ?,
     'S',  'a',  'm',  'e',  'd',  'i',  '\0', ?,    ?,    ?,
     'D',  'i',  'm',  'a',  'n',  'c',  'h',  'e',  '\0', ?}
    Bien sûr, l'utilisteur peut accéder à chaque ligne séparément.

Discussions similaires

  1. Tableaux à deux dimension : Comprend pas?!
    Par dedesite dans le forum Général Python
    Réponses: 3
    Dernier message: 27/03/2008, 14h10
  2. decalaration dynamique tableaux deux dimensions et TRI
    Par Alex35 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/12/2007, 13h48
  3. [Problème]Tableaux deux dimensions
    Par maloute80 dans le forum Langage
    Réponses: 4
    Dernier message: 14/12/2007, 14h31
  4. [Tableaux] Gerer des tableaux à deux dimensions
    Par FrankOVD dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo