Je cherche une fonction equivalente à foreach() ?

Je cherche une fonction equivalente à foreach() ? - C - Programmation

Marsh Posté le 08-03-2006 à 00:43:04    

Bonjour,
En PHP il existe une fonction foreach($tableau) tres pratique.
exemple :

Code :
  1. $arr = array(1, 2, 3, 4);
  2. foreach ($arr as &$value)
  3. {
  4.    $value = $value * 2;
  5. }
  6. // $arr vaut maintenant array(2, 4, 6, 8)


 
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:

Code :
  1. int A[] = {a,b,c,d,e}
  2.   for(i=0;i<5;i++)
  3.   {  res = super_fonction( A[i] );
  4.       return res;
  5.    }


 
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 ?
 
En PHP c'est simpe mais en C.....  :non:   :??:  
 
Merci de votre aide :)

Reply

Marsh Posté le 08-03-2006 à 00:43:04   

Reply

Marsh Posté le 08-03-2006 à 03:13:50    

ah bah faut avouer que t'es plutot mal tomber, parce que le C et la gestion des chaines de charactere c'est un peu "brute de fonderie"
 
t'as pas le droit au C++? qui serait quand meme plus a meme de te fournir les bons outils

Reply

Marsh Posté le 08-03-2006 à 08:18:22    

Si j'ai le droit d'utiliser le C++  (c'est pour moi ce programme :p)
C'est juste que je m'y connais bcp moins en C++...
 
Mias s'il peux m'offrir des structures de données plus adéquates je suis preneur :)
 
Merci..

Reply

Marsh Posté le 08-03-2006 à 10:35:36    

en c++ tu as  std::foreach mais c'est une fonction et non une instruction (ca se rapproche plus de array_map en php)

Citation :

res = super_fonction( A[01] );


en c++ ca peut se faire avec std::valarray en l'indexant avec un tableau contenant les indices voulu
 
le probleme c'est qu'il faut au grands minimun des mois pour maitriser tout ca si tu débutes alors que le c est nettement moins complexe

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed