Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2021-05-13T10:47:49+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Logisim, message #2342462021-05-13T10:47:49+02:00staciehoyt/@staciehoythttps://zestedesavoir.com/forums/sujet/15180/logisim/?page=1#p234246<p>Merci beaucoup pour ce partage</p>Logisim, message #2325982021-03-24T23:34:39+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/15180/logisim/?page=1#p232598<p>Salut, malheureusement, je ne comprends rien à ta question. Je ne peux que te rediriger vers <a href="https://zestedesavoir.com/billets/3744/comment-poser-une-question-sur-le-forum/">ce billet</a>. </p>
<p>Bonne soirée. </p>Logisim, message #2325972021-03-24T23:26:40+01:00FM30/@FM30https://zestedesavoir.com/forums/sujet/15180/logisim/?page=1#p232597<p>Urgent, besoin d’une personne compétente pour ce logiciel</p>Controler verrin pneumatique par arduino, message #1805862018-05-20T21:40:28+02:00germain.herve/@germain.hervehttps://zestedesavoir.com/forums/sujet/10633/controler-verrin-pneumatique-par-arduino/?page=1#p180586<p>Bonjour,</p>
<p>j’ai enfin pu tester mon électrovanne avec l’air comprimé !</p>
<p>Effectivement il faut bien l’air pour qu’elle fonctionne…</p>
<p>Merci à Vael pour ton aide.</p>Controler verrin pneumatique par arduino, message #1789262018-04-26T12:21:57+02:00Vael/@Vaelhttps://zestedesavoir.com/forums/sujet/10633/controler-verrin-pneumatique-par-arduino/?page=1#p178926<p>Ok donc ça veut peut être dire quand dans la position passive (courant off) il y a de la pression du coté "sans ressort". Dans ce cas, la force appliqué par la pression n’est pas suffisante pour bouger la tige. Mais avec l’aide de l’électrovanne ça devient suffisant et la tige centrale bouge.</p>
<p>(je suis pas un pro de l’électrovanne mais y a vraiment beaucoup de design différents et en tous cas clairement le fait de pas être branché à l’air comprimé peut changer le comportement de celle ci)</p>
<p>Il y a les électrovanne "spring return" et les "pneumatic return"</p>
<p>Pour le flux d’air :</p>
<p>Justement c’est parfois important de pas tous envoyer d’un coup ! Sinon le piston est soumis à des forces trop grandes, une accélération trop importante. Il fait également fait un grand "CHTONGGGGG" quand il arrive en bout de course à pleine vitesse.... Sur la durée c’est pas très bon pour ton dispositif <img alt="^^" src="/static/smileys/hihi.png">
(pire : si ce qui bloque le mouvement c’est pas la fin de course du piston mais un blocage mécanique sur ta cisaille ou alors la lame de ta cisaille qui vient violemment au contact du truc a couper ou su support derrière la cisaille, tu as une possibilité pour la ruiner assez vite ^^)</p>
<p>Du coup tu peux mettre des régulateurs de pressions (mais ça baissera la force de ton piston puisque la pression sera plus faible) ou des régulateurs de flux : la force final sera la même mais elle sera appliqué de manière plus douce et ça ira un peu moins vite. Ça ressemble à ce genre de truc : <a href="http://www.directindustry.com/prod/festo/product-4735-123778.html">http://www.directindustry.com/prod/festo/product-4735-123778.html</a></p>
<p>A visser sur les entrées ou sorties de ton électro vanne </p>Controler verrin pneumatique par arduino, message #1788902018-04-26T06:32:35+02:00germain.herve/@germain.hervehttps://zestedesavoir.com/forums/sujet/10633/controler-verrin-pneumatique-par-arduino/?page=1#p178890<p>Bonjour, merci de ta réponse.</p>
<p>J’ai démonté l’electrovanne pour voir comment c’était fait, et il y a, côté électrique, une tige métallique qui est tiré par un electro aimant, cette tige revient dans sa position initiale à l’aide d’un ressort. Par contre je ne comprends pas comment ça déplace la tige de l’electrovanne…
Et de l’autre côté de l’electrovanne, il y a un ressort, qui vient s’appuyer sur la tige de l’electrovanne.
Si je pousse manuellement la tige, elle se déplace (il faut un petit peu de force pour la déplacer, je ne pense pas que la tige puisse être déplacé directement par l’electroaimant sans aide). Et le ressort repoussela tige en position initiale.</p>
<p>Je testerais la semaine prochaine de le brancher pneumatiquement pour voir si c’est de la que viens le problème. </p>
<hr>
<p>Concernant les régulateur, je ne connais pas, mais je me renseignerais.
Je ne pense pas qu’il soient nécessaire, car actuellement, on envoie toute la pression d’un coup avec la pédale.</p>
<hr>
<p>Encore merci pour la réponse. </p>Controler verrin pneumatique par arduino, message #1788872018-04-26T00:52:53+02:00Vael/@Vaelhttps://zestedesavoir.com/forums/sujet/10633/controler-verrin-pneumatique-par-arduino/?page=1#p178887<p>C’est un ressort mécanique ou pneumatique pour l’électro vanne ? Certaines ont besoin d’être connecté à l’air comprimé pour fonctionner.</p>
<p>Ensuite un relais contrôlé par l’Arduino qui contrôle la sortie de ton alim devrait faire le taff.</p>
<p>edit : je sais pas avec quelle pression tu vas fonctionner mais tu devrais mettre des régulateurs de flux pour pas que le mouvement soit trop violent. Tu pourrais abimer le vérin (ça dépend de la résistance interne du mécanisme et de la pression que tu vas mettre)</p>Controler verrin pneumatique par arduino, message #1788682018-04-25T20:22:26+02:00germain.herve/@germain.hervehttps://zestedesavoir.com/forums/sujet/10633/controler-verrin-pneumatique-par-arduino/?page=1#p178868<p>Bonjour,
pour mon travail, je dois automatiser un système de cisaille, celle ci est déjà mécanisé à l’aide d’un vérin pneumatique déclenché par une pédale.
mon but, est donc d’ajouter un système, qui déclencherai toute les 2 secondes le vérin.</p>
<p>Depuis quelques temps, j’ai commencé à faire des bricolages avec une Arduino (méga), je souhaiterais donc l’utiliser pour mon projet (dans un premier temps, car je la remplacerais surement avec un automate dans le futur, mais je dois déjà valider le principe).</p>
<p>Pour en revenir à mon problème, il vient du fait que je ne sais pas trop comment faire.</p>
<p>J’ai vu des électrovannes que l’on peut piloter en 12V DC (AIRTAC 4V210), j’en ai commandé une mais je n’arrive pas à la faire fonctionner, en l’alimentant en direct, avec mon alimentation d’ordinateur transformé en alimentation de labo.</p>
<p>concernant ce qu’il y a de marqué sur l’électrovanne: DC12V - 4.8W - DC10.8V~13.2V - 100%ED</p>
<p>Y a t’il un branchement particulier à faire pour la faire fonctionner ?</p>
<p>N’hésitez pas a me demander plus de détails si besoin.</p>
<p>Merci.</p>Problème logiciel Git, message #1408102017-02-11T20:48:38+01:00Jérémy Duval/@J%C3%A9r%C3%A9my%20Duvalhttps://zestedesavoir.com/forums/sujet/7800/probleme-logiciel-git/?page=1#p140810<p>Salut,</p>
<p>Du coup j’ai changé d’interface et je suis passé sous GitKraken.
Merci de ton aide <img alt=":)" src="/static/smileys/smile.png"></p>Problème logiciel Git, message #1388872017-01-17T17:29:03+01:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/7800/probleme-logiciel-git/?page=1#p138887<p>Salut,</p>
<p>Avec <a href="http://lmgtfy.com/?q=SourceTree+git+virtualalloc">une petite recherche google</a> j’ai trouvé <a href="http://stackoverflow.com/questions/18502999/git-extensions-win32-error-487-couldnt-reserve-space-for-cygwins-heap-win32">ça</a> qui semble expliquer ton problème et propose plusieurs façon de le résoudre.</p>
<p>edit : <strong>TL;DR</strong> : A priori il suffit de rebooter ton pc</p>
<p>Bonne chance, ça semble être un problème pur-windows je pourrais pas t’aider plus.</p>Problème logiciel Git, message #1388822017-01-17T16:44:10+01:00Jérémy Duval/@J%C3%A9r%C3%A9my%20Duvalhttps://zestedesavoir.com/forums/sujet/7800/probleme-logiciel-git/?page=1#p138882<p>Bonjour,</p>
<p>Je ne peux plus utiliser SourceTree, mon logiciel pour Git. A chaque action, pour chque projet, j’obtient l’erreur suivante :</p>
<figure><img alt="" src="/media/galleries/3800/b0b51ec1-efa4-46e1-b1a2-7a057b5deba4.png"><figcaption>Erreur SourceTree</figcaption>
</figure>
<p>Voilà voilà, j’espère que vous pourrez m’aider.</p>
<p>Merci d’avance <img alt=":)" src="/static/smileys/smile.png"></p>colorier en deux couleur un graph avec DFS, message #1343482016-12-08T15:57:06+01:00d3m0t3p/@d3m0t3phttps://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134348<p>si ça intéresse quelqun, voici le code après avoir effectué les modifications proposées par @Lucas-84</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1">//</span>
<span class="c1">// main.cpp</span>
<span class="c1">//</span>
<span class="c1">// Created by d3m0t3p on 06.12.16.</span>
<span class="c1">//</span>
<span class="cp">#include</span> <span class="cpf"><iostream></span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf"><vector></span><span class="cp"></span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span><span class="o">>></span> <span class="n">graph</span><span class="p">;</span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span><span class="o">></span> <span class="n">color</span><span class="p">;</span>
<span class="kt">bool</span> <span class="nf">dfs</span><span class="p">(</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span> <span class="n">parent</span><span class="p">)</span> <span class="p">{</span>
<span class="k">for</span><span class="p">(</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span> <span class="n">child</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">child</span> <span class="o"><</span> <span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">).</span><span class="n">size</span><span class="p">()</span><span class="cm">/*number of child 'parent' has*/</span><span class="p">;</span> <span class="o">++</span><span class="n">child</span><span class="p">)</span> <span class="p">{</span>
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span> <span class="n">node</span> <span class="o">=</span> <span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">).</span><span class="n">at</span><span class="p">(</span><span class="n">child</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">node</span><span class="p">)</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">node</span><span class="p">)</span> <span class="o">=</span> <span class="mi">3</span><span class="o">-</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">);</span> <span class="c1">//set value 2 then 1 then 2 then 1 ... each dive ( each generation at the same floor has the same color )</span>
<span class="k">return</span> <span class="n">dfs</span><span class="p">(</span><span class="n">node</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">)</span> <span class="o">==</span> <span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">node</span><span class="p">))</span> <span class="p">{</span> <span class="c1">//node's color == parent's color => impossible to colorize with 2 color</span>
<span class="k">return</span> <span class="nb">false</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nb">true</span><span class="p">;</span> <span class="c1">//everything is visited and 'if' not triggered so it can be made of 2 color</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="n">argv</span><span class="p">[])</span> <span class="p">{</span>
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span> <span class="n">n</span><span class="p">,</span> <span class="n">m</span><span class="p">;</span>
<span class="n">std</span><span class="o">::</span><span class="n">cin</span> <span class="o">>></span> <span class="n">n</span> <span class="o">>></span> <span class="n">m</span><span class="p">;</span>
<span class="n">graph</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span><span class="o">>></span><span class="p">(</span><span class="n">n</span><span class="p">);</span>
<span class="n">color</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">int</span><span class="o">></span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span> <span class="c1">//nothing visited</span>
<span class="k">for</span><span class="p">(</span><span class="kt">size_t</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">m</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="kt">int</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">;</span>
<span class="n">std</span><span class="o">::</span><span class="n">cin</span> <span class="o">>></span> <span class="n">a</span> <span class="o">>></span> <span class="n">b</span><span class="p">;</span>
<span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">a</span><span class="p">).</span><span class="n">push_back</span><span class="p">(</span><span class="n">b</span><span class="p">);</span> <span class="c1">//add child b to node a</span>
<span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">b</span><span class="p">).</span><span class="n">push_back</span><span class="p">(</span><span class="n">a</span><span class="p">);</span> <span class="c1">//add child a to node b</span>
<span class="p">}</span>
<span class="cm">/*</span>
<span class="cm"> for(int x=0; x<graph.size(); ++x){ //show node x and his neighbour</span>
<span class="cm"> std::cout << x<<"{";</span>
<span class="cm"> for(const auto& y: graph.at(x)){</span>
<span class="cm"> std::cout<<y<<", ";</span>
<span class="cm"> }</span>
<span class="cm"> std::cout<<"}\n";</span>
<span class="cm"> }*/</span>
<span class="kt">int</span> <span class="n">parentNum</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parentNum</span><span class="p">)</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="c1">//starting point</span>
<span class="k">for</span><span class="p">(</span><span class="kt">size_t</span> <span class="n">v</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">v</span> <span class="o"><</span> <span class="n">graph</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> <span class="o">++</span><span class="n">v</span> <span class="p">){</span>
<span class="k">if</span><span class="p">(</span><span class="n">v</span> <span class="o">==</span> <span class="mi">0</span><span class="p">){</span>
<span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="n">dfs</span><span class="p">(</span><span class="n">parentNum</span><span class="p">)</span> <span class="p">){</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span><span class="s">"NO</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="p">){</span>
<span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="n">dfs</span><span class="p">(</span><span class="n">parentNum</span><span class="p">)</span> <span class="p">){</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span><span class="s">"NO</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span> <span class="c1">//we could fusion the two condition, but it's more clear that way</span>
<span class="p">}</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span><span class="s">"YES</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</td></tr></table>
<p>Si vous avez des remarques, je suis ouvert à toutes propositions</p>colorier en deux couleur un graph avec DFS, message #1341372016-12-07T11:07:02+01:00d3m0t3p/@d3m0t3phttps://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134137<p>D'accord je vais faire ça, </p>
<p>Merci beaucoup pour ton aide.</p>colorier en deux couleur un graph avec DFS, message #1341142016-12-07T01:22:11+01:00Lucas-84/@Lucas-84https://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134114<figure><blockquote>
<p>Je pourrais lancer dfs sur tout les noeuds, le pire cas (en complexité algorithmique) serait lorsque le graph peut être colorier, mais je suppose qu'il y a une méthode plus fine non ?
</p>
</blockquote>
<figcaption><p><a href="https://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134113">d3m0t3p</a></p></figcaption></figure><p>Par exemple, tu peux n'appeler <code>dfs</code> que sur les noeuds qui ne sont pas deja colories. De cette maniere, sur la totalite des appels a <code>dfs</code>, tu ne parcouriras qu'au plus une fois chaque noeud (et chaque nouvel appel dans <code>main</code> correspondra a une nouvelle composante connexe).</p>colorier en deux couleur un graph avec DFS, message #1341132016-12-07T01:18:06+01:00d3m0t3p/@d3m0t3phttps://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134113<p>Merci beaucoup,</p>
<p>Ta réponse m'a mener à une autre question: comment différencier les différentes composantes du graph afin de toutes les traités,
Je pourrais lancer dfs sur tout les noeuds, le pire cas (en complexité algorithmique) serait lorsque le graph peut être colorier, mais je suppose qu'il y a une méthode plus fine non ?</p>colorier en deux couleur un graph avec DFS, message #1341092016-12-07T00:47:19+01:00Lucas-84/@Lucas-84https://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134109<p>Salut,</p>
<p>Ligne 23, il faut prendre en compte la valeur de retour de ton fils. Si par exemple ton fils se rend compte qu'il y a un bug dans la coloration que tu es en train de construire (en renvoyant faux), il faut aussi que le pere renvoie faux.</p>
<p>Sinon, dans ton exemple, ton graphe a deux composantes connexes, alors que tu n'en traites qu'une (celle de 0). Il faudrait rajouter une boucle dans ton <code>main</code>. <img alt=";)" src="/static/smileys/clin.png"></p>
<p>EDIT : Egalement, ligne 68 tu appelles <code>dfs</code> sans recuperer la valeur qu'elle retourne (et tu fais un deuxieme appel ligne 70, que cette fois tu utilises). </p>colorier en deux couleur un graph avec DFS, message #1341082016-12-07T00:34:45+01:00d3m0t3p/@d3m0t3phttps://zestedesavoir.com/forums/sujet/7507/colorier-en-deux-couleur-un-graph-avec-dfs/?page=1#p134108<p>Salut à tous,<br>
depuis quelques jours, je m'intéresse à la théorie des graphs,<br>
Je me suis donc décidé à coder une exercice simple pour commencer, à savoir: peut-on colorier un graph avec deux couleurs sans que deux noeuds côte à côte aillent la même couleur.</p>
<p>J'ai tenté d'implementer l'algorithme DFS et je suis arrivé à ce qui suit, mais il ne fonctionne pas très bien (ca serait trop beau sinon)
L'entrée à la forme:</p>
<p>nombreDeNoeuds nombreD'arret<br>
noeudx voisin<br>
noeudx voisin<br>
noeudx voisin<br>
…</p>
<p>pour la sortie, la fonction dfs renvoie un boolean.</p>
<p>exemples justes:</p>
<div class="spoiler">
<p>Pour l'entrée (une ligne)<br>
3 2 //3 noeuds (0,1,2), 2 arrets<br>
0 1<br>
1 2<br>
je reçois: <br>
0{1, }<br>
1{0, 2, }<br>
2{1, }<br>
YES </p>
<p>pour: (un triangle)<br>
3 3<br>
0 1<br>
1 2<br>
2 0<br>
0{1, 2, }<br>
1{0, 2, }<br>
2{1, 0, }<br>
NO<br>
juste aussi </p>
</div>
<p>Le problème vient avec cet input: <br>
6 5<br>
0 2<br>
1 2<br>
1 3<br>
2 3<br>
4 5 </p>
<p>La fonction dfs devrait me retourner false, mais elle me renvoie true.
Les voisins, sont correctement formés, mais elle ne me donne pas le bon résultat.
Comment je dois procéder pour arriver à trouver d'où vient le problème ?</p>
<p>Je ne sais pas trop quoi afficher comme message qui pourrait m'aider, si elle me donnait faux à la place de vrai, j'aurais afficher parent et child pour trouver l'emplacement qui pose problème, mais là je suis à cour d'idées (et de motive) <img alt=":lol:" src="/static/smileys/rire.gif"> .<br>
le code: </p>
<div class="spoiler">
<p><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1">//</span>
<span class="c1">// main.cpp</span>
<span class="c1">//</span>
<span class="cp">#include</span> <span class="cpf"><iostream></span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf"><vector></span><span class="cp"></span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>></span> <span class="n">graph</span><span class="p">;</span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">color</span><span class="p">;</span>
<span class="kt">bool</span> <span class="nf">dfs</span><span class="p">(</span><span class="kt">int</span> <span class="n">parent</span><span class="p">)</span> <span class="p">{</span>
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">child</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">child</span> <span class="o"><</span> <span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">).</span><span class="n">size</span><span class="p">()</span><span class="cm">/*number of child 'parent' has*/</span><span class="p">;</span> <span class="o">++</span><span class="n">child</span><span class="p">)</span> <span class="p">{</span>
<span class="kt">int</span> <span class="n">node</span> <span class="o">=</span> <span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">).</span><span class="n">at</span><span class="p">(</span><span class="n">child</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">node</span><span class="p">)</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">node</span><span class="p">)</span> <span class="o">=</span> <span class="mi">3</span><span class="o">-</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">);</span> <span class="c1">//set value 2 then 1 then 2 then 1 ... each dive ( each generation has the floor has the same color )</span>
<span class="n">dfs</span><span class="p">(</span><span class="n">node</span><span class="p">);</span> <span class="c1">//go and see neigbour to node</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parent</span><span class="p">)</span> <span class="o">==</span> <span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">node</span><span class="p">))</span> <span class="p">{</span> <span class="c1">//node's color == parents color => impossible to colorize with 2 color</span>
<span class="k">return</span> <span class="nb">false</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nb">true</span><span class="p">;</span> <span class="c1">//everything is visited and 'if' not triggered so it can be made of 2 color</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="n">argv</span><span class="p">[])</span> <span class="p">{</span>
<span class="kt">int</span> <span class="n">n</span><span class="p">,</span> <span class="n">m</span><span class="p">;</span> <span class="c1">//n = node and m = arret</span>
<span class="n">std</span><span class="o">::</span><span class="n">cin</span> <span class="o">>></span> <span class="n">n</span> <span class="o">>></span> <span class="n">m</span><span class="p">;</span>
<span class="n">graph</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>></span><span class="p">(</span><span class="n">n</span><span class="p">);</span>
<span class="n">color</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span> <span class="c1">//nothing visited yet</span>
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">m</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="kt">int</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">;</span>
<span class="n">std</span><span class="o">::</span><span class="n">cin</span> <span class="o">>></span> <span class="n">a</span> <span class="o">>></span> <span class="n">b</span><span class="p">;</span>
<span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">a</span><span class="p">).</span><span class="n">push_back</span><span class="p">(</span><span class="n">b</span><span class="p">);</span> <span class="c1">//add child b to node a</span>
<span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">b</span><span class="p">).</span><span class="n">push_back</span><span class="p">(</span><span class="n">a</span><span class="p">);</span> <span class="c1">//add child a to node b</span>
<span class="p">}</span>
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">x</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">x</span><span class="o"><</span><span class="n">graph</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> <span class="o">++</span><span class="n">x</span><span class="p">){</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="n">x</span><span class="o"><<</span><span class="s">"{"</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="k">const</span> <span class="k">auto</span><span class="o">&</span> <span class="nl">y</span><span class="p">:</span> <span class="n">graph</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">x</span><span class="p">)){</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="o"><<</span><span class="n">y</span><span class="o"><<</span><span class="s">", "</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="o"><<</span><span class="s">"}</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="n">parentNum</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="n">color</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="n">parentNum</span><span class="p">)</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="c1">//starting point</span>
<span class="n">dfs</span><span class="p">(</span><span class="n">parentNum</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="n">dfs</span><span class="p">(</span><span class="n">parentNum</span><span class="p">)){</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span><span class="s">"YES"</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span><span class="s">"NO"</span><span class="p">;</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</td></tr></table>
</p>
</div>
<p>Merci de m'avoir accordé un instant <img alt=";-)" src="/static/smileys/clin.png"></p>Demande de contribution, message #774282015-10-11T19:39:52+02:00viki53/@viki53https://zestedesavoir.com/forums/sujet/4257/demande-de-contribution/?page=1#p77428<p>Je ne suis pas sûr qu'ouvrir un sujet pour faire de la pub pour un autre sujet soit une très bonne idée… <em>#Diesel #Volkswagen</em> </p>Demande de contribution, message #774022015-10-11T17:37:27+02:00qwerty/@qwertyhttps://zestedesavoir.com/forums/sujet/4257/demande-de-contribution/?page=1#p77402<p>Hello !</p>
<p>Nous organisons une big interview sur Zeste de Savoir, et comme <a href="https://zestedesavoir.com/forums/sujet/4098/interview-de-zds-pour-graine-dutopie/?page=1#p74391">proposé</a>, nous voulons que les membres posent aussi des questions. Proposez et votez avec les +/- 1 !</p>
<p>Cordialement,
q.</p>problème de regex, message #525782015-04-20T15:43:52+02:00melepe/@melepehttps://zestedesavoir.com/forums/sujet/2886/probleme-de-regex/?page=1#p52578<p>En ce qui concerne le /, tu ne dois l'échapper que s'il te sert de délimiteur pour ta regex. Or, comme tu te sers du #, tu n'as pas besoin d'échapper tes slashs (mais du coup tu dois échapper tes dièses).</p>problème de regex, message #525632015-04-20T12:52:34+02:00Air_maX/@Air_maXhttps://zestedesavoir.com/forums/sujet/2886/probleme-de-regex/?page=1#p52563<p>Merci Xia <img alt=":)" src="/static/smileys/smile.png"></p>
<p>Pour le +/* , j'aurais du m'en apercevoir tout seul…</p>
<p>pour le \/, c'est surprenant, ça fonctionne sans Oo !</p>
<p>enfin, merci pour la description de tes lien, je pige un peu le principe de base <img alt=":)" src="/static/smileys/smile.png"> !</p>