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 :

indexation lineaire en c++


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 48
    Points : 32
    Points
    32
    Par défaut indexation lineaire en c++
    bonjour ,

    l indexation dans le code ci dessous est elle valable pour passer d un tableau 3d a un tableau 1 d. peut on faire la mm chose en 4d. ca me donne pas le resultat souhaite Merci pour tout commentaire, explication la meilleure facon de passer de 3D au 1D et l inverse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (int x=0; x<nx; ++x){
        for (int y=0; y<ny; ++y){
          for (int z=0; z<nz; ++z){
    	pos = z*nx*ny + y*nx +x;
    	tab1d[pos] = tab3d[x][y][x]
    }}}

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    327
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 327
    Points : 402
    Points
    402
    Par défaut
    Bonjour,
    Tu peux aller lire cette article très intéressant sur les tableaux multidimensionnel en C++.
    http://sites.univ-provence.fr/wcpp/V1/Annexes/A3.pdf
    Avec cela tu aura l'explication pour faire ce que tu cherches et savoir comment marche exactement les tableaux multidimensionnels en C++.
    J'espère que tu prendra plaisir à lire cet article.
    A bientôt

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Ca y était presque...tu l'as juste pris à l'envers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (int x=0; x<nx; ++x){
        for (int y=0; y<ny; ++y){
          for (int z=0; z<nz; ++z){
    	pos = z*nx*ny + y*nx +x;
    	tab1d[pos] = tab3d[x][y][x]
    }}}
    1 itération en y parcours la totalité de z -> nz.
    1 itération en x parcours la totalité de y -> ny * nz.
    Supposons que tu en es à l'étape : x=i, y=j et z=k.
    Cela signifie que
    -> Tu as fais i fois l'itération en x : donc i*ny*nz
    -> Tu as fais j fois l'itération en y : donc j*nz
    -> Tu as fait k dois l'itération en z : k
    Ton indice est tout simplement :
    pos = z + y*nz + x*ny*nz.

Discussions similaires

  1. Message 'Duplicate index entry'
    Par Poulou dans le forum Administration
    Réponses: 13
    Dernier message: 04/05/2004, 14h57
  2. Index n'est pas a jour
    Par touhami dans le forum Paradox
    Réponses: 5
    Dernier message: 11/12/2002, 14h47
  3. [Technique] Intérêt des index
    Par ddams dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 04/11/2002, 15h11
  4. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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