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 :

initialisation d'un tableau


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut initialisation d'un tableau
     salut;
    ya t-il un moyen de faire autrement la declaration du tableau ci dessus en remplacant les les lettres par des nombres 'y'-'E'....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    int8_t si_prefixes['z' - 'E' + 1]={
    	 ['y'-'E']= -24,
    	 ['z'-'E']= -21,
    	 ['a'-'E']= -18,
    	 ['f'-'E']= -15,
    	 ['p'-'E']= -12,
    	 ['n'-'E']= - 9,
    	 ['u'-'E']= - 6,
    	 ['m'-'E']= - 3,
    	 ['c'-'E']= - 2,
    	 ['d'-'E']= - 1,
    	 ['h'-'E']=   2,
    	 ['k'-'E']=   3,
    	 ['K'-'E']=   3,
    	 ['M'-'E']=   6,
    	 ['G'-'E']=   9,
    	 ['T'-'E']=  12,
    	 ['P'-'E']=  15,
    	 ['E'-'E']=  18,
    	 ['Z'-'E']=  21,
    	 ['Y'-'E']=  24,
     };
    //equivalente a // si_prefixes['y'-'E']=-24;
    // si_prefixes ['z'-'E']= -21  ................

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Salut, oui c'est possible, tu boucles sur toutes les lettres, et chacune d'elle est associée à un nombre...

    Avec une ou deux boucles for, ce doit être facilement réalisable...

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    merci d'avoir répondu.on peut remplacer les lettres par leurs codes ASCII mais
    Je ne comprends pas quel sera la taille du tableau et les indices...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    je ne comprends pas très bien ce que tu veux faire ? qu'est-ce que ton exemple ?

    Tu peux avoir un tableau de 52 cases (26 lettres majuscules et 26 lettre minuscules).

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    je veux initialiser le tableau ci dessus d'une autre facon sans utiliser les lettres pour les indices du tableau( si_prefixes['y'-'E']...)
    (mon compilateur n'accepte pas ce genre d'expression)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    un tableau s'initialise de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double tab[3]={1,5,7};
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double tab[]={1,5,7}; /* ici la taille sera calculée par lors de la compilation je crois */
    mais pas de la manière suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double tab[]={[0]=1;[1]=5,[2]=7};

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Essaie avec des enum, ça peut marcher

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par akrlot
    merci d'avoir répondu.on peut remplacer les lettres par leurs codes ASCII mais
    Je ne comprends pas quel sera la taille du tableau et les indices...
    je ne comprend pas pourquoi tu parles de code ASCII et pourquoi tu soustrais l valeur de 'E' ... E n'est pas la première lettre de l'alphabet...

    Sinon tu peux faire par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int8_t si_prefixes[26] ;
    int      i ;
     
    for ( i = 0 ; i < 26 ; i++ )
       si_prefixes[i] = 64 + i ;

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    ce type d'expression compile sous gcc mais n'est pas accepté par mon compilateur.c'est pour cela que je cherche l'equivalent de l'expression(taille du tableau et indices)

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    j'ai trouvé un autre moyen de faire la déclaration.on remplace les caracteres par leurs codes ascii et on met le reste du tableau a 0 comme ci dessous:
    int si_prefixes[54]={0,0,0,21,....,0,0..........}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Initialisation d'un tableau à plusieurs dimensions
    Par kinouseb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/02/2007, 13h16
  2. Initialisation d'un tableau de pointeurs
    Par tintin72 dans le forum C++
    Réponses: 19
    Dernier message: 19/11/2006, 10h22
  3. Problème d'initialisation d'un tableau
    Par Premium dans le forum C
    Réponses: 13
    Dernier message: 31/05/2006, 14h48
  4. Débutant : initialisation d'un tableau
    Par lebokto dans le forum C++
    Réponses: 7
    Dernier message: 02/11/2005, 15h50
  5. Initialisation d'un tableau de type STRUCT
    Par Axiome dans le forum MFC
    Réponses: 4
    Dernier message: 06/09/2005, 10h58

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