| View previous topic :: View next topic |
| Author |
Message |
Olivier Sarda Guest
|
Posted: Thu May 13, 2004 12:01 pm Post subject: Parcourrir un tableau |
|
|
Posté le: Jeu Mai 13, 2004 13:59 Sujet du message: Parcourrier un
tableau
--------------------------------------------------------------------------
Bonjour
je recherche a parcourir un tableau de structure
au lieu d'uliser le traditionnel for (int i=nb,i<nb++,etc....)
je fais
Code:
while(pAbrev){
ShowMessage(pAbrev->_Symbol);
pAbrev++;
}
ma ciondition d'arret plante voyez pourquoi
quel doit etre le test ?
Compile avec C++Builder 6 pro
merci
_________________
Cordialement,
Sarda Olivier
|
|
| Back to top |
|
 |
Marc Guest
|
Posted: Thu May 13, 2004 12:17 pm Post subject: Re: Parcourrir un tableau |
|
|
"Olivier Sarda" wrote :
| Quote: | je recherche a parcourir un tableau de structure
au lieu d'uliser le traditionnel for (int i=nb,i<nb++,etc....)
|
Tu veux dire for(int i=0;i
| Quote: | while(pAbrev){
ShowMessage(pAbrev->_Symbol);
pAbrev++;
}
|
pourquoi pAbrev se mettrait-il soudain à valoir 0 ? Je suppose que
pAbrev est un pointeur pointant initialement vers le début de ton
tableau. Alors il faudrait plutôt quelque chose comme :
le_type* la_fin=pAbrev + taille_tableau
while(pAbrev<la_fin) {
ShowMessage(pAbrev->_Symbol);
++pAbrev;
}
Mais tu ferais mieux d'apprendre à utiliser std::vector et les
itérateurs.
|
|
| Back to top |
|
 |
Olivier Sarda Guest
|
Posted: Thu May 13, 2004 12:26 pm Post subject: Re: Parcourrir un tableau |
|
|
j'ai essaye cela sans grand success
TAbreviation * pEnd= pAbrev+sizeof(pAbrev);
while(pAbrev<pEnd){
ShowMessage(pAbrev->_Symbol);
pAbrev++;
}
"Marc" <MarcDotGlisse (AT) Loria (DOT) Fr> a écrit dans le message de news:
c7vp0g$vs3$1 (AT) nef (DOT) ens.fr...
| Quote: | "Olivier Sarda" wrote :
je recherche a parcourir un tableau de structure
au lieu d'uliser le traditionnel for (int i=nb,i<nb++,etc....)
Tu veux dire for(int i=0;i
while(pAbrev){
ShowMessage(pAbrev->_Symbol);
pAbrev++;
}
pourquoi pAbrev se mettrait-il soudain à valoir 0 ? Je suppose que
pAbrev est un pointeur pointant initialement vers le début de ton
tableau. Alors il faudrait plutôt quelque chose comme :
le_type* la_fin=pAbrev + taille_tableau
while(pAbrev<la_fin) {
ShowMessage(pAbrev->_Symbol);
++pAbrev;
}
Mais tu ferais mieux d'apprendre à utiliser std::vector et les
itérateurs.
|
|
|
| Back to top |
|
 |
Marc Guest
|
Posted: Thu May 13, 2004 12:42 pm Post subject: Re: Parcourrir un tableau |
|
|
"Olivier Sarda" a écrit :
| Quote: | TAbreviation * pEnd= pAbrev+sizeof(pAbrev);
while(pAbrev<pEnd){
ShowMessage(pAbrev->_Symbol);
pAbrev++;
}
|
Il faut remplacer sizeof(pAbrev) par le nombre d'éléments de ton
tableau. Je ne m'étais pas rendu compte que le mot « taille » pouvait
être ambigu dans mon post précédent.
|
|
| Back to top |
|
 |
Jean-Noël Mégoz Guest
|
Posted: Thu May 13, 2004 1:28 pm Post subject: Re: Parcourrir un tableau |
|
|
"Marc" <MarcDotGlisse (AT) Loria (DOT) Fr> a écrit dans le message de
news:c7vqer$vs3$4 (AT) nef (DOT) ens.fr...
| Quote: | "Olivier Sarda" a écrit :
TAbreviation * pEnd= pAbrev+sizeof(pAbrev);
while(pAbrev<pEnd){
ShowMessage(pAbrev->_Symbol);
pAbrev++;
}
Il faut remplacer sizeof(pAbrev) par le nombre d'éléments de ton
tableau. Je ne m'étais pas rendu compte que le mot « taille » pouvait
être ambigu dans mon post précédent.
|
Je suis pris d'un doute en lisant cette conversation...
Quand on fait pointeur++, la valeur de "pointeur" augmente de 1, ou de la
taille des éléments pointés dans le tableau ?
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
|
| Back to top |
|
 |
|