Traduction de boucle en c
Fermé
nassim1987
Messages postés
105
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
27 janvier 2014
-
23 janv. 2011 à 15:08
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 24 janv. 2011 à 12:32
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 24 janv. 2011 à 12:32
A voir également:
- Traduction de boucle en c
- Traduction photo - Guide
- Google traduction français arabe - Télécharger - Traduction
- Homies traduction ✓ - Forum Musique / Radio / Clip
- La bible traduction intégrale hébreu-français pdf - Télécharger - Vie quotidienne
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
2 réponses
flo13142
Messages postés
71
Date d'inscription
mardi 7 décembre 2010
Statut
Membre
Dernière intervention
21 février 2011
18
24 janv. 2011 à 11:59
24 janv. 2011 à 11:59
Bonjour,
As-tu regardé du côté des Threads ?
As-tu regardé du côté des Threads ?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
24 janv. 2011 à 12:32
24 janv. 2011 à 12:32
Salut.
Les threads peuvent être une solution, mais la gestion de l'attente de l'un par rapport à l'autre peut être une vraie galère.
Supposons que tu ais une boucle en i et une en j.
for (i=0;i<Ni;++i){pleins de truc en i}
et
for (j=0;j<Nj;++j){pleins de truc en j}
Tu ne peux pas imbriqué les deux for, ça ne fonctionnera pas. Je pense que tu peux les fusionner en revanche. Première étape pour simplifier : deux fonctions qui font ce qu'il faut pour chaque corps de boucle fi(int i) et fj(int j) par exemple.
Comme ça le décalage ne fonctionne que dans un sens (la boucle sur i débute en premier) mais ça devrait suffire.
Les threads peuvent être une solution, mais la gestion de l'attente de l'un par rapport à l'autre peut être une vraie galère.
Supposons que tu ais une boucle en i et une en j.
for (i=0;i<Ni;++i){pleins de truc en i}
et
for (j=0;j<Nj;++j){pleins de truc en j}
Tu ne peux pas imbriqué les deux for, ça ne fonctionnera pas. Je pense que tu peux les fusionner en revanche. Première étape pour simplifier : deux fonctions qui font ce qu'il faut pour chaque corps de boucle fi(int i) et fj(int j) par exemple.
for(i=0,j=0;i<Ni || j<Nj;++i;++j) { if(i>decalage) fj(j); else --j;// decrementation pour compenser celle de la fin de la boucle if(i<Ni) fi(i); }
Comme ça le décalage ne fonctionne que dans un sens (la boucle sur i débute en premier) mais ça devrait suffire.