begin process at 2012 05 29 13:40:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

les poinnteurs


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

les poinnteurs

vendredi 7 juillet 2006 à 12:41:39 | les poinnteurs

infodaoudi

salut tous le monde ,

j'ai un probléme de pointeur je perd l'adresse de deux tableux (LPR[C+1] , LPRd[C+1],) que je veux afficher à l'extérieure d'une fonction, voici la fonction en question

/////===============================================================
void Noeud:: Reconstruction(vecteur xi,int dim, Noeud *root,Noeud *r,PageRegion *LPRg[C+1],PageRegion *LPRd[C+1],int *nbg,int *nbd)
{
  Rect rect0,rect1;
  Noeud Ng1,Nd1;
  vecteur yi;

     for(int k=0;k<r->nbEntree;k++)
  {
   if(r->fils[k]->fils==NULL)
   {
    if(k==0)
    {
     if (((r->MBR).p2).coord[dim]<=xi.coord[dim] )
     {
      cout<<endl;cout<<" ====== gauche ===== "<<(*nbg)<<endl;
      LPRg[(*nbg)]=new PageRegion((*r).MBR,r);
      LPRg[(*nbg)++]->MBR.afficher();getch();
     }
                 else
      if( ((r->MBR).p1).coord[dim]>=xi.coord[dim] )
      {
           cout<<endl;cout<<"========= droite ======="<<(*nbd)<<endl;
           LPRd[(*nbd)]=new PageRegion((*r).MBR,r);
           LPRd[(*nbd)++]->MBR.afficher();getch();
      }
     else
     {
        cout<<endl;cout<<" =========  inter ======= "<<endl;getch();
         r->MBR.afficher();
      
         yi=((((*r).fils[k])->MBR).p1);
         yi.coord[dim]=xi.coord[dim];
      
         Noeud::SplitNoeud(yi,dim, r, &Ng1,&Nd1);
         LPRg[(*nbg)++]=new PageRegion(Ng1.MBR,&Ng1);
         LPRd[(*nbd)++]=new PageRegion(Nd1.MBR,&Nd1);
             
      }
    }
   }
   else
    Reconstruction(xi,dim,root,r->fils[k]->fils,LPRg,LPRd,nbg,nbd);

  }
}
////================================================================

Quelqu'un à une idée???????? merci d'avance pour toute remarque.

vendredi 7 juillet 2006 à 17:23:44 | Re : les poinnteurs

rrk275

Bonjour ,
J'ai du mal à comprendre ton probleme , tu veux garder l'adresse des tableaux
de pointeurs de PageRegion LPR[] et LPRd[]?


vendredi 7 juillet 2006 à 18:00:07 | Re : les poinnteurs

infodaoudi

je veux afficher les valeurs de ces deux tableaux à l'extérieure de la fonction, je récupére des valeurs eronnées je ne sais pas pourquoi?
vendredi 7 juillet 2006 à 18:39:53 | Re : les poinnteurs

infodaoudi

Je vais peut etre simplifier plus la fonction , voici une autre version de cette fonction:
/////===============================================================
void Noeud:: Reconstruction(vecteur xi,int dim, Noeud *root,Noeud *r,PageRegion *LPRg[C+1],PageRegion *LPRd[C+1],int *nbg,int *nbd)
{
  Rect rect0,rect1;
  Noeud Ng1,Nd1;
  vecteur yi;

     for(int k=0;k<r->nbEntree;k++)
  {
   if(r->fils[k]->fils==NULL)
   {
    if(k==0)
    {
          if(((r->MBR).p2).coord[dim]<=xi.coord[dim] )
     {
        cout<<endl;cout<<" =========  inter ======= "<<endl;getch();
         r->MBR.afficher();
      
         yi=((((*r).fils[k])->MBR).p1);
         yi.coord[dim]=xi.coord[dim];
      
         Noeud::SplitNoeud(yi,dim, r, &Ng1,&Nd1);
         LPRg[(*nbg)++]=new PageRegion(Ng1.MBR,&Ng1);
         LPRd[(*nbd)++]=new PageRegion(Nd1.MBR,&Nd1);
             
      }
    }
   }
   else
    Reconstruction(xi,dim,root,r->fils[k]->fils,LPRg,LPRd,nbg,nbd);

  }
}
////================================================================
voila je ne recupere plus les valeur des deux tableuax LPRg[] et LPRd[]. quelqu'un sais pourquoi?

vendredi 7 juillet 2006 à 19:22:35 | Re : les poinnteurs

laurent1024

Membre Club
Faut peut etre que tu modifie la fonction comme ca :
void Noeud:: Reconstruction(vecteur xi,int dim, Noeud *root,Noeud *r,PageRegion **LPRg,PageRegion **LPRd,int *nbg,int *nbd)


++

samedi 8 juillet 2006 à 18:31:50 | Re : les poinnteurs

infodaoudi

j'ai essayéca ne marche tjs pas
samedi 8 juillet 2006 à 18:59:33 | Re : les poinnteurs

laurent1024

Membre Club
Il faut peut etre aussi modifier ca
         LPRg[(*nbg)++]=new PageRegion(Ng1.MBR,&Ng1);
         LPRd[(*nbd)++]=new PageRegion(Nd1.MBR,&Nd1);
 en
         (*LPRg)[(*nbg)++]=new PageRegion(Ng1.MBR,&Ng1);
         (*LPRd)[(*nbd)++]=new PageRegion(Nd1.MBR,&Nd1);

++
dimanche 9 juillet 2006 à 05:50:50 | Re : les poinnteurs

rrk275

Apres reflexion, et etude de ce code,
#include <iostream>

using namespace std;

class entier
{
 public:
 int nb;
 entier(int n)
 {
  nb = n;
 }
};

void fun(entier *t[5])
{
 t[0] = new entier(15);
}

int main ()
{
 entier *t[5];
 fun(t);
 printf("%d",t[0]->nb); 
 system("pause");
}

qui affiche 15, je me dis que surement l'erreur vient de l'affichage ou est dans ta fonction ... , car j'ai reproduit le schema pour en etre sur donne nous le code qui l'affiche ...



Cette discussion est classée dans : noeud, mbr, lprd, pageregion, lprg


Répondre à ce message

Sujets en rapport avec ce message

constructeur par recopie/opérateur = [ par infodaoudi ] Bonjour, j'ai trois classes: class PagePoint { public: int nbredata; vecteur data[C+1]; } class Noeud { public: int nbEntree; PageRegi Erreur création d 'index [ par RootASM ] Bonjour,Voila, je crée un fichier qui contient des informations sur des membres d'un club et pour éviter de tout le temps accéder au fichier, je crée Pointeur de fonction en C avec wx-devcpp [ par RM50Man ] Bonjour,J'ai un problème avec la déclaration de mon pointeur de fonction, aussitôt que je lui rajoute un deuxième paramètre, le compilateur m'indique recursivité [ par infodaoudi ] bonjour codeur, je veux changer la fonction ci dessous en eliminant la valeur de retour (Noeud*) et ajoutant un autre parametre ( Noeud *p) qui est la fichier [ par infodaoudi ] je veux afficher la classes suivante dans un fichier binaire: class Noeud { public: int nbEntree; PageRegion *fils[C+1]; } avec: class PageRegion probleme tableaux [ par infodaoudi ] Bonjour codeur,j'ai le probleme suivant: etant donnée un classe Noeud de donnée éterogene,je veux creer un tableau de type Noeud sachant que je ne con Les arbres en C [ par nadias ] Bonsoir tout le monde,Je voudrai SVP etre corriger s'il y a erreur merci.On me demande de creer un arbre. Voici la consigne:"Cette arbre possède des n [debutant]structure dans un arbre binaire/pointeur [ par gluff ] Bonjour,je n'arrive pas a remplir des strucutures a partir de la lecture d'un fichier.Dans le fichier sont contenus un liste de nom de personne et un [débutant] probleme de compilation [ par gluff ] Bonsoir, je réalise un programme qui crée un arbre généalogique à partir d'un arbre binaire  Il y a un structure NOEUD revoie vers le nom de la perso Arbre binaire [ par granoli ] Bonjour, et bonne année 2007,J'aimerais un algorithme simple de création d'arbre binaire.J'ai bien compris le concept des arbres binaires mais j'ai du


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 : 1,435 sec (3)

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