<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Hilfe bei Vergleichen mehrerer Werte]]></title><description><![CDATA[<p>Guten Abend zusammen, ich habe mich soeben in diesem forum eingefunden und will am besten auch grad loslegen.<br />
Ich bin Anfänger auf dem Gebiet C++ und habe einige Probleme mit einem Wuerfelspiel welches ich also Projekt für die Schule bearbeite.<br />
Hierbei soll im Großen und Ganzen eine Kombination aus 3 Würfeln zusammengesetzt werden, wobei im 2. und 3. Wurf nicht alle Wuerfel sondern auch nur 2,1 oder garkeiner neu generiert werden kann. Maximal darf drei mal geworfen werden. Anschließend sollen die geworfenen werte mit werten aus einer Tabelle oder einem festgelegten Datenfeld verglichen werden und die Wertigkeit des wurfs ermittelt werden.<br />
Mein Quellcode sieht momentan so aus:</p>
<blockquote>
<p>#include &lt;iostream&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;time.h&gt;</p>
<p>using namespace std;</p>
<p>void wuerfel(int wuerfe[]);</p>
<p>int main()<br />
{<br />
srand(time(NULL));<br />
int wuerfe[3];</p>
<p>wuerfel(wuerfe);<br />
return 0;<br />
}</p>
<p>void wuerfel(int wuerfe[])<br />
{<br />
int zaehler=0;<br />
for(int i=0;i&lt;1;i++)<br />
{<br />
for (int i=0;i&lt;3;i++)<br />
{<br />
wuerfe[i]=rand()%6+1;<br />
cout &lt;&lt;&quot;Wuerfel &quot;&lt;&lt; i+1 &lt;&lt; &quot;: &quot; &lt;&lt; wuerfe[i] &lt;&lt; '\t'&lt;&lt;endl;</p>
<p>}<br />
}</p>
<p>for(int i=0;i&lt;4;i++)<br />
{<br />
cout&lt;&lt;&quot; Welche Wuerfel sollen erneut gewuerfelt werden?&quot; &lt;&lt;endl;<br />
cout&lt;&lt;&quot;(1,2,3 - f=garkeine)&quot;&lt;&lt;endl;</p>
<p>bool nehmen[3];<br />
int eingabe1,eingabe2,eingabe3;</p>
<p>cout&lt;&lt;&quot;Eingabe1: &quot;;<br />
cin&gt;&gt; eingabe1;<br />
if (eingabe1==1)<br />
{<br />
nehmen[0]=true;<br />
}</p>
<p>if(nehmen[0]==true)<br />
{<br />
wuerfe[0]=rand()%6+1;<br />
i++;</p>
<p>}</p>
<p>cout&lt;&lt;&quot;Eingabe2: &quot;;<br />
cin&gt;&gt; eingabe2;<br />
if (eingabe2==1)<br />
{<br />
nehmen[1]=true;<br />
}</p>
<p>if(nehmen[1]==true)<br />
{<br />
wuerfe[1]=rand()%6+1;<br />
i++;</p>
<p>}</p>
<p>cout&lt;&lt;&quot;Eingabe3: &quot;;<br />
cin&gt;&gt; eingabe3;<br />
if (eingabe3==1)<br />
{<br />
nehmen[2]=true;<br />
}</p>
<p>if(nehmen[2]==true)<br />
{<br />
wuerfe[2]=rand()%6+1;<br />
i++;</p>
<p>}</p>
<p>cout&lt;&lt;&quot;Wuerfel 1: &quot;&lt;&lt;wuerfe[0]&lt;&lt;endl;<br />
cout&lt;&lt;&quot;Wuerfel 2: &quot;&lt;&lt;wuerfe[1]&lt;&lt;endl;<br />
cout&lt;&lt;&quot;Wuerfel 3: &quot;&lt;&lt;wuerfe[2]&lt;&lt;endl;</p>
<p>int aw;<br />
cout&lt;&lt;&quot; Zug Beenden?&quot;&lt;&lt;endl;<br />
cin&gt;&gt; aw;<br />
if(aw==1)<br />
{<br />
i=4;<br />
}</p>
<p>}<br />
}</p>
</blockquote>
<p>Wahrscheinlich hätte es jeder komplett anders geschrieben aber mit meinen Kenntnissen war es vorerst nur so möglich.<br />
Nun ja..<br />
Als erstes habe ich das Problem, dass die werte nachdem ich beim Abfragen 3x eine 0 eingelesen habe die werte beim ersten mal stehen bleiben, sich aber beim zweiten mal doch verändern.<br />
Und dann weiß ich nicht wie es möglich ist z.B. zu sagen dass 1.1.6 hoeher ist als 6.6.6.</p>
<p>ich hoffe das war jetzt net zu viel auf einmal. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Falls mir jemand helfen kann bereits ein<br />
GROßES DANKESCHÖN</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267089/hilfe-bei-vergleichen-mehrerer-werte</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 16:11:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267089.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 May 2010 21:33:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Vergleichen mehrerer Werte on Tue, 18 May 2010 21:33:31 GMT]]></title><description><![CDATA[<p>Guten Abend zusammen, ich habe mich soeben in diesem forum eingefunden und will am besten auch grad loslegen.<br />
Ich bin Anfänger auf dem Gebiet C++ und habe einige Probleme mit einem Wuerfelspiel welches ich also Projekt für die Schule bearbeite.<br />
Hierbei soll im Großen und Ganzen eine Kombination aus 3 Würfeln zusammengesetzt werden, wobei im 2. und 3. Wurf nicht alle Wuerfel sondern auch nur 2,1 oder garkeiner neu generiert werden kann. Maximal darf drei mal geworfen werden. Anschließend sollen die geworfenen werte mit werten aus einer Tabelle oder einem festgelegten Datenfeld verglichen werden und die Wertigkeit des wurfs ermittelt werden.<br />
Mein Quellcode sieht momentan so aus:</p>
<blockquote>
<p>#include &lt;iostream&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;time.h&gt;</p>
<p>using namespace std;</p>
<p>void wuerfel(int wuerfe[]);</p>
<p>int main()<br />
{<br />
srand(time(NULL));<br />
int wuerfe[3];</p>
<p>wuerfel(wuerfe);<br />
return 0;<br />
}</p>
<p>void wuerfel(int wuerfe[])<br />
{<br />
int zaehler=0;<br />
for(int i=0;i&lt;1;i++)<br />
{<br />
for (int i=0;i&lt;3;i++)<br />
{<br />
wuerfe[i]=rand()%6+1;<br />
cout &lt;&lt;&quot;Wuerfel &quot;&lt;&lt; i+1 &lt;&lt; &quot;: &quot; &lt;&lt; wuerfe[i] &lt;&lt; '\t'&lt;&lt;endl;</p>
<p>}<br />
}</p>
<p>for(int i=0;i&lt;4;i++)<br />
{<br />
cout&lt;&lt;&quot; Welche Wuerfel sollen erneut gewuerfelt werden?&quot; &lt;&lt;endl;<br />
cout&lt;&lt;&quot;(1,2,3 - f=garkeine)&quot;&lt;&lt;endl;</p>
<p>bool nehmen[3];<br />
int eingabe1,eingabe2,eingabe3;</p>
<p>cout&lt;&lt;&quot;Eingabe1: &quot;;<br />
cin&gt;&gt; eingabe1;<br />
if (eingabe1==1)<br />
{<br />
nehmen[0]=true;<br />
}</p>
<p>if(nehmen[0]==true)<br />
{<br />
wuerfe[0]=rand()%6+1;<br />
i++;</p>
<p>}</p>
<p>cout&lt;&lt;&quot;Eingabe2: &quot;;<br />
cin&gt;&gt; eingabe2;<br />
if (eingabe2==1)<br />
{<br />
nehmen[1]=true;<br />
}</p>
<p>if(nehmen[1]==true)<br />
{<br />
wuerfe[1]=rand()%6+1;<br />
i++;</p>
<p>}</p>
<p>cout&lt;&lt;&quot;Eingabe3: &quot;;<br />
cin&gt;&gt; eingabe3;<br />
if (eingabe3==1)<br />
{<br />
nehmen[2]=true;<br />
}</p>
<p>if(nehmen[2]==true)<br />
{<br />
wuerfe[2]=rand()%6+1;<br />
i++;</p>
<p>}</p>
<p>cout&lt;&lt;&quot;Wuerfel 1: &quot;&lt;&lt;wuerfe[0]&lt;&lt;endl;<br />
cout&lt;&lt;&quot;Wuerfel 2: &quot;&lt;&lt;wuerfe[1]&lt;&lt;endl;<br />
cout&lt;&lt;&quot;Wuerfel 3: &quot;&lt;&lt;wuerfe[2]&lt;&lt;endl;</p>
<p>int aw;<br />
cout&lt;&lt;&quot; Zug Beenden?&quot;&lt;&lt;endl;<br />
cin&gt;&gt; aw;<br />
if(aw==1)<br />
{<br />
i=4;<br />
}</p>
<p>}<br />
}</p>
</blockquote>
<p>Wahrscheinlich hätte es jeder komplett anders geschrieben aber mit meinen Kenntnissen war es vorerst nur so möglich.<br />
Nun ja..<br />
Als erstes habe ich das Problem, dass die werte nachdem ich beim Abfragen 3x eine 0 eingelesen habe die werte beim ersten mal stehen bleiben, sich aber beim zweiten mal doch verändern.<br />
Und dann weiß ich nicht wie es möglich ist z.B. zu sagen dass 1.1.6 hoeher ist als 6.6.6.</p>
<p>ich hoffe das war jetzt net zu viel auf einmal. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Falls mir jemand helfen kann bereits ein<br />
GROßES DANKESCHÖN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1899287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1899287</guid><dc:creator><![CDATA[isi147]]></dc:creator><pubDate>Tue, 18 May 2010 21:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Vergleichen mehrerer Werte on Tue, 18 May 2010 22:00:57 GMT]]></title><description><![CDATA[<p>hi isi147,</p>
<blockquote>
<p>Als erstes habe ich das Problem, dass die werte nachdem ich beim Abfragen 3x eine 0 eingelesen habe die werte beim ersten mal stehen bleiben, sich aber beim zweiten mal doch verändern.</p>
</blockquote>
<p>Du initialisierst dein Array bei jedem Schleifendurchlauf neu.</p>
<pre><code class="language-cpp">bool nehmen[3];
</code></pre>
<p>Wenn du diese Zeile vor die Schleife ziehst, dann bleibt der Wert erhalten.<br />
Ein Würfel der einmal draußen war, bleibt immer draußen?<br />
Dann brauchste noch ne Abfrage, um so einen Block</p>
<pre><code class="language-cpp">cout&lt;&lt;&quot;Eingabe1: &quot;; 
cin&gt;&gt; eingabe1; 
if (eingabe1==1) 
{ 
nehmen[0]=true; 
} 

if(nehmen[0]==true) 
{ 
wuerfe[0]=rand()%6+1; 
i++; 

}
</code></pre>
<p>Zieh (falls ich dich richtig verstanden habe) das 2. if mal ins erste rein...</p>
<blockquote>
<p>Und dann weiß ich nicht wie es möglich ist z.B. zu sagen dass 1.1.6 hoeher ist als 6.6.6.</p>
</blockquote>
<p>Knobelst du oder welches Kriterium haben deine Wurfwerte? minimale Summe?</p>
<p>EDIT: Aber unabhängig von dem Kriterium (außer Summe) vereinfacht eine<br />
aufsteigende oder absteigende Sortierung die Analyse.<br />
Wenn du natürlich deine Würfel in der Reihenfolge behalten willst kopier<br />
die Werte in ein (temporäres) 2tes array.</p>
<p>Gruß,<br />
CSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1899295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1899295</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 May 2010 22:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Vergleichen mehrerer Werte on Tue, 18 May 2010 22:17:11 GMT]]></title><description><![CDATA[<p>ja danke auf jeden fall für die schnell antwort.<br />
also das erste funktioniert jetzt auf jeden fall so wie es soll.</p>
<p>für das zweite habe ich hier nochmal eine tabbelle.</p>
<blockquote>
<p>Definition Würfe<br />
• 1 1 1 = Chicago aus<br />
• 1 2 4 = Jule<br />
• 1 1 6 = Max 6<br />
• 1 1 5 = Max 5<br />
• 1 1 4 = Max 4<br />
• 1 1 3 = Max 3<br />
• 1 1 2 = Max 2<br />
• 6 6 6 = 6er Dicker<br />
• 5 5 5 = 5er Dicke<br />
• 4 4 4 = 4er Dicke<br />
• 3 3 3 = 3er Dicke<br />
• 2 2 2 = 2er Dicke<br />
• 4 5 6 = Große Straße<br />
• 3 4 5 = Straße<br />
• 2 3 4 = kleine Straße<br />
• 1 2 3 = Sträßchen<br />
• Restliche Würfel</p>
</blockquote>
<p>also letzten endes läuft es darauf aus dass für bestimmte würfe dem verliere deckel/punkte zugewiesen werden. demnach muss das programm alle aufgelistetet kennen und alle anderen werden addiert. bei den deckeln jedoch bin ich mir noch nicht sicher ob ich diese reinbringe.<br />
Nur weiß ich halt gar nicht wie ich das mit den wertigkeiten festlegen soll.</p>
<p>mfg<br />
isi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1899305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1899305</guid><dc:creator><![CDATA[isi147]]></dc:creator><pubDate>Tue, 18 May 2010 22:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Vergleichen mehrerer Werte on Tue, 18 May 2010 23:00:32 GMT]]></title><description><![CDATA[<p>also Knobeln <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Kopier dir deine Werte in ein 2. Array und sortier sie aufsteigend.<br />
Ich würde es etwa so machen:</p>
<pre><code>if(alleWürfelGleich(wurf1, wurf2))
    return remis
if(isSchock(wurf1)){
    if(isSchockAus(wurf1))
        return sieg
    if(isSchockAus(wurf2))
        return niederlage;
    if(isJule(wurf1))
        return sieg
    if(isJule(wurf2))
        return niederlage;
    if(isSchock(wurf2)){
       if(wurf1[3]&gt;wurf2[3])
          return sieg
       else
          return niederlage
    }
    // EDIT2
    return sieg
}
// EDIT
if(isSchock(wurf2))
    return niederlage
if(general(wurf1)){
...
}
...
return niederlage;
</code></pre>
<p>Zu mehr hatte ich keine Lust <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1899312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1899312</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 May 2010 23:00:32 GMT</pubDate></item></channel></rss>