begin process at 2012 05 29 20:41:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

probleme avec un tableau a 3 dimensions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec un tableau a 3 dimensions

mardi 23 mai 2006 à 19:30:04 | probleme avec un tableau a 3 dimensions

tomalille

bonjour,
j'utilise un tableau a 3 dimensions dans un procedure. Je ne comprend pas du tout les resultats de l'algo que j'ai implemente.
Je modifie les valeurs du tableau a un endroit (et je fais un cout pour verifier).
Apres cela, j'affiche le tableau final et ils ne correspond plus du tout a ce qui avait ete fait auparavant.

voici une partie de mon code;
Specif;
void cheminUtilisable(int panneI, int panneJ, float *distance,int *parcours, int *chemin);
Code;
void Graphe::cheminUtilisable(int panneI, int panneJ,float *distance,int *parcours, int *chemin)
{
    int u, v;
    int i;
    bool panne;
   
    if(existeArete(panneI,panneJ))
    {
        effacerArete(panneI,panneJ);
        panne = true;   
    }

    for(u=0;u<nbNoeuds;u++)
    {
        for(v=0;v<nbNoeuds;v++)
        {
            for(i=0;i<2;i++)
                chemin[u*nbNoeuds+v*nbNoeuds+i] = -1;
        }
    }

    for(u=0;u<nbNoeuds;u++)
    {
        cout << "***** U : "<< u << endl;
        bellmanFord(u,&distance[0*nbNoeuds+0],&parcours[0*nbNoeuds+0]);
        for(v=0;v<nbNoeuds;v++)
        {
            chemin[u*nbNoeuds+v*nbNoeuds+0] = parcours[v*2+0];
            chemin[u*nbNoeuds+v*nbNoeuds+1] = parcours[v*2+1];
            cout << "chemin[" << u << "," << v << ",0] =  "<<chemin[u*nbNoeuds+v*nbNoeuds+0]; /*pour verif: pas de probleme*/
            cout << " chemin[" << u << "," << v << ",1]=  " <<chemin[u*nbNoeuds+v*nbNoeuds+1]<< endl;
        }
    }

    cout << endl << "*********RES FINAL**********" <<endl;
    for(u=0;u<nbNoeuds;u++) /*impression du tableau final pour verif; ca ne correspond plus ???*/
    {
        cout << "***** U : "<< u << endl;
        for(v=0;v<nbNoeuds;v++)
        {
            cout << "chemin[" << u << "," << v << ",0] =  "<<chemin[u*nbNoeuds+v*nbNoeuds+0];
            cout << " chemin[" << u << "," << v << ",1]=  " <<chemin[u*nbNoeuds+v*nbNoeuds+1]<< endl;
        }
    }
    cout << endl <<endl;
    if(panne)
        ajouterArete(panneI,panneJ);
}

Pouvez-vous m'orienter sur ce probleme? De plus, je ne suis pas certain de la syntaxe qui me permet d'acceder a mon tableau;
chemin[nbNoeuds][nbNoeuds][2];
chemin[u][v][0] = chemin[u*nbNoeuds+v*nbNoeuds+0];

Merci
Thomas
mardi 23 mai 2006 à 19:43:46 | Re : probleme avec un tableau a 3 dimensions

excrt

utilise les crochets; chemin[x][y][z]


-=-= ExCRT =-=-
mardi 23 mai 2006 à 19:48:35 | Re : probleme avec un tableau a 3 dimensions

tomalille

merci,
cette methode ne fonctionne pas.
De plus je l'utilise pour un tableau a 2 dimensions dans une autre methode sans aucun probleme
mercredi 24 mai 2006 à 16:06:42 | Re : probleme avec un tableau a 3 dimensions

excrt

une petite « relecture » est toujours utile(je parles pour moi)

void cheminUtilisable(int panneI, int panneJ, float *distance,int *parcours, int *chemin);
- devrait être:
void cheminUtilisable(int panneI, int panneJ, float *distance,int *parcours, int *** chemin); // <<<<<<<<

un astérix par crochet/dimension « si on veut ... »

  for (x = 0; x < X_MAX; x++) {
    for (y = 0; y < Y_MAX; y++) {
      for (z = 0; z < Z_MAX; z++) {
        chemin[x][y][z] = (x * y) + z;
      }
    }
  }

-=-= ExCRT =-=-
mercredi 24 mai 2006 à 16:10:38 | Re : probleme avec un tableau a 3 dimensions

tomalille

Réponse acceptée !

Merci pour ta réponse. J'ai résolu le problème comme celà:
chemin[u][v][w] = chemin[u*2*nbNoeuds + v*2 + w];
Voilà,
merci encore
Thomas



Cette discussion est classée dans : int, chemin, for, cout, nbnoeuds


Répondre à ce message

Sujets en rapport avec ce message

c++ algo [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include algo C++ [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include tableaux dans prototype erreur [ par darmoor ] Bonjour tout le monde! bon, j'ai un petit probleme de compilation au niveau d'un tableau 2D dans un prototype. J'ai demandé à quelqu'un qui s'y conna c++ [ par yesoun1 ] je serai reconnaissant de votre aide ;) et merci d'avance[^^happy10] quel est le rôle de "*" ?? for(unsigned int i=0; i < hauteur; i++) { for Problème générateur de grille de sudoku en C [ par Dovah ] Bonjour, je suis débutant en programmation, et pour m'entraîner j'ai décidé de créer un programme qui génère aléatoirement une grille de sudoku en C besoin d'aide dans programme en c [ par houda986 ] salut; je suis un débutante en programmation et j'ai besoin d'aide pour la résolution d'un programme en C,c'est un programme de tri par base ... j'ai verification entrée cin [ par fhoest ] Bonjour, je voudrai faire une vérification sur une entrée std::cin mon problème est que si je met par exemple ll et ensuite je valide par la touche "r j'ai besoin de vous!!! [ par baster200x ] bonjour les amis [^^happy13] j'ai trouvé la solution pour mes problème que je l'ai poser précédemment sur le forum à propos de l'intégration d'u [clos] bjr, pourriez vous m'aider a terminer ce progmme stp? [ par ley1805 ] #include #include #include #include struct noeud { struct noeud *gauche; int info; struct noeud *droite; }; typedef struct noeud *pnoeud; pno creation de plusieur tableau [ par foxwar ] Bonjour, j'aimerai cree un programme ki permet de cree plusieur tableau du different taille et les afficher g ecirt ce programme mai je c pa ce k'il


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,072 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales