Traduction de boucle en c
nassim1987
Messages postés
105
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
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
- Traduction de site web - Guide
- Hibiki traduction telecharger - Accueil - Intelligence artificielle
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Traduction créole guadeloupe français reverso ✓ - Forum Loisirs / Divertissements
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.