Traduction de boucle en c
nassim1987
Messages postés
118
Statut
Membre
-
Char Snipeur Messages postés 10112 Statut Contributeur -
Char Snipeur Messages postés 10112 Statut Contributeur -
Bonjour, je fais une sorte de traduction en langage c du déroulement de deux boucle for qui s'exécute en pseudo parallèle mais dans la réalité ça reste séquentiel.en prenant en compte qu'on peut décaler le démarrage de la deuxième boucle par rapport à la premiére ce décalage est un paramètre de cette nouvelle sorte de boucle et on peut aussi paramétrer le nombre d'itération de chaque boucle.
Vous pouvez m'aider en me disant une méthodologie à suivre ou une maniére cohérente de programmer ça
merci
Vous pouvez m'aider en me disant une méthodologie à suivre ou une maniére cohérente de programmer ça
merci
A voir également:
- Traduction de boucle en c
- Google traduction photo - Guide
- Hibiki traduction telecharger - Accueil - Intelligence artificielle
- Traduction de site web - Guide
- Waldik traduction - Forum Loisirs / Divertissements
- Bible hébreu traduction mot à mot pdf - Télécharger - Vie quotidienne
2 réponses
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.