pyr0123
Messages postés48Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention13 juillet 2010
-
10 mars 2006 à 16:22
cs_bouba
Messages postés518Date d'inscriptiondimanche 2 décembre 2001StatutMembreDernière intervention10 novembre 2007
-
10 mars 2006 à 21:05
Bonjour,
En PHP il existe une fonction foreach($tableau) tres pratique.
exemple :
Je ne suis pas là pour parler PHP.
Cette fonction permet de manier les donées d'un tableau.
Mon probleme en C est que je n'arrive pas à trouver d'equivalent.
Je voudrais pouvoir manier un élément de mon tableau, puis une "composée" de deux elements..
voila en gros un exemple:
int A[] = {a,b,c,d,e}
for(i=0;i<5;i++)
{ res = super_fonction( A[i] );
return res;
}
Au debut, j'ai besoin d'accéder a une donnée ('a') pour faire une operation dessus (cela est possible avec un tableau : ok.)
res = super_fonction( A[0] );
return res;
// ici on traite le 'a'
Là où ça se complique c'est que ensuite j'ai aussi besoin d'acceder a une composition des données, cest a dire que j'ai besoin d'effectuer une operation
sur 'a' et 'b' en meme temps de tel sorte : 'ab'. il faut extraire donc 2 données et faire une opération dessus.
res = super_fonction( A[01] );
return res;
// c'est faux, mais c'est que j'aimerai, ici on traite le 'ab' comme un mot a part entiere.
Avec 2, puis 3,4....n données.
Je ne pense qu'avec un tableau ca soit possible, alors je vous demande si vous connaitriez pas un type de structure capable de faire cela ?
cs_bouba
Messages postés518Date d'inscriptiondimanche 2 décembre 2001StatutMembreDernière intervention10 novembre 20073 10 mars 2006 à 21:05
Slt, je ne sais pas si j'ai très bien pigé ce que tu souhaites réaliser, mais apparement le seul truc que tu souhaites faire c'est traiter plusieurs éléments de ton tableau d'un coup dans le bloc de ta boucle for, vraiment ça ne pose aucun problème !!!
res = super_fonction( A[01] ) ->> ?????
utilises simplement deux arguments pour ta fonction
super_fonction(A[0], A[1]);
Ou alors si tu veux utiliser un nombre variable d'éléments de ton tableau, passe en paramètre de ta fonction un pointeur sur le premier et le nombre d'éléments à traiter en second arg.
void super_fonction(int * ptr, int nb) { ...........}
Voilà voilà, si tu veux foreach a été implémenté dans la lib QT, au début ça peux peut-être le faire si tu veux t'aclimater au C/C++ mais ce serait pas un très bon conseil de te dire de l'utiliser. Va voir ce liens pour plus d'informations: http://doc.trolltech.com/4.1/containers.html#the-foreach-keyword Tu peux chercher sur leur site pour trouver plus d'info sur la macro foreach de QT, mais bon, tu fais du C/C++ alors utilises la syntaxe du C/C++ "classique", je te conseil donc de ne pas l'utiliser.