<?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[PI Annaeherung durch Dartpfeile Hilfe]]></title><description><![CDATA[<p>Meine void funktion funktioniert nicht?! der counter c wird nicht verändert? Er bleibt 0.</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;iostream.h&gt;<br />
#include &lt;conio.h&gt;</p>
<p>struct wurf{<br />
double x,y;<br />
int io;<br />
};</p>
<p>wurf wuerfeln( wurf );<br />
wurf inCircle( wurf );<br />
void count (int *c, wurf);</p>
<p>int main ()<br />
{<br />
float pi;<br />
wurf w;<br />
int c, i, n;<br />
c=0;</p>
<p>printf(&quot;Programm zur PI-Annaeherung\n&quot;);<br />
printf(&quot;Wieviele Wuerfe wollen Sie taetigen?\n&quot;);<br />
scanf(&quot;%i&quot;, &amp;n);</p>
<p>for(i=0; i&lt;n; i++){<br />
w=wuerfeln(w);<br />
w=inCircle(w);<br />
count(&amp;c, w);<br />
}</p>
<p>pi=9.0*(c/n);<br />
printf(&quot;Die Pi-Annaeherung durch die Dartscheibe ergibt fuer PI: %f\n&quot;,pi);</p>
<p>getch();<br />
return 0;<br />
}</p>
<p>wurf wuerfeln(wurf w){<br />
w.x=(rand()/RAND_MAX)*3-1.5;<br />
w.y=(rand()/RAND_MAX)*3-1.5;<br />
return w;<br />
}</p>
<p>wurf inCircle(wurf w){<br />
if(w.x*w.x+w.y*w.y&lt;=1)<br />
w.io=1;<br />
else w.io=0;<br />
return w; }</p>
<p>void count(int *c,wurf w){<br />
int p;<br />
p=*c;<br />
if(w.io==1)<br />
p=p+1;<br />
c=&amp;p;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127438/pi-annaeherung-durch-dartpfeile-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 02:17:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127438.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Nov 2005 11:37:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 11:37:51 GMT]]></title><description><![CDATA[<p>Meine void funktion funktioniert nicht?! der counter c wird nicht verändert? Er bleibt 0.</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;iostream.h&gt;<br />
#include &lt;conio.h&gt;</p>
<p>struct wurf{<br />
double x,y;<br />
int io;<br />
};</p>
<p>wurf wuerfeln( wurf );<br />
wurf inCircle( wurf );<br />
void count (int *c, wurf);</p>
<p>int main ()<br />
{<br />
float pi;<br />
wurf w;<br />
int c, i, n;<br />
c=0;</p>
<p>printf(&quot;Programm zur PI-Annaeherung\n&quot;);<br />
printf(&quot;Wieviele Wuerfe wollen Sie taetigen?\n&quot;);<br />
scanf(&quot;%i&quot;, &amp;n);</p>
<p>for(i=0; i&lt;n; i++){<br />
w=wuerfeln(w);<br />
w=inCircle(w);<br />
count(&amp;c, w);<br />
}</p>
<p>pi=9.0*(c/n);<br />
printf(&quot;Die Pi-Annaeherung durch die Dartscheibe ergibt fuer PI: %f\n&quot;,pi);</p>
<p>getch();<br />
return 0;<br />
}</p>
<p>wurf wuerfeln(wurf w){<br />
w.x=(rand()/RAND_MAX)*3-1.5;<br />
w.y=(rand()/RAND_MAX)*3-1.5;<br />
return w;<br />
}</p>
<p>wurf inCircle(wurf w){<br />
if(w.x*w.x+w.y*w.y&lt;=1)<br />
w.io=1;<br />
else w.io=0;<br />
return w; }</p>
<p>void count(int *c,wurf w){<br />
int p;<br />
p=*c;<br />
if(w.io==1)<br />
p=p+1;<br />
c=&amp;p;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925988</guid><dc:creator><![CDATA[rees]]></dc:creator><pubDate>Thu, 24 Nov 2005 11:37:51 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 11:43:32 GMT]]></title><description><![CDATA[<p>p ist eine Stack-Variable in count. Ein Zeiger auf p gilt nach der Rückkehr von count nicht, also darfst Du nicht c die Adresse von p zuzuweisen, sondern:</p>
<pre><code class="language-cpp">(*c)=p;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925994</guid><dc:creator><![CDATA[Spezi L]]></dc:creator><pubDate>Thu, 24 Nov 2005 11:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 11:47:00 GMT]]></title><description><![CDATA[<p>Klingt logisch,hab i probiert funktioniert aber dennoch nicht? Die Anfangszuweisung von *c auf P ist doch in ordnung,o nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925997</guid><dc:creator><![CDATA[rees]]></dc:creator><pubDate>Thu, 24 Nov 2005 11:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 11:52:28 GMT]]></title><description><![CDATA[<p>Ja, das ist sie. Aber am Ende mußt du auch wieder &quot;*c=p&quot; anwenden, um das Ergebnis zurückzuliefern.</p>
<p>Spezi L schrieb:</p>
<blockquote>
<p>Ein Zeiger auf p gilt nach der Rückkehr von count nicht, also darfst Du nicht c die Adresse von p zuzuweisen</p>
</blockquote>
<p>Noch schlimmer - auch c ist nur eine lokale Variable, damit ist die Zuweisung an c letztendlich wirkungslos <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/926001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/926001</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 24 Nov 2005 11:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 11:55:02 GMT]]></title><description><![CDATA[<p>Hmm wie krieg ich nun die Schleife hin,die mir in main c erhöht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/926003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/926003</guid><dc:creator><![CDATA[rees]]></dc:creator><pubDate>Thu, 24 Nov 2005 11:55:02 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 12:04:11 GMT]]></title><description><![CDATA[<p>in count ist c ein Parameter der auf int zeigt, deshalb sollte es gehen.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void count(int *counter)
{
	++(*counter);
}

void count2(int *counter)
{
	int p = *counter;
	++p;
	(*counter) = p;
}

int main()
{
    int c = 0;

    count(&amp;c);
    count(&amp;c);
    cout &lt;&lt; c &lt;&lt; endl;

    count2(&amp;c);
    count2(&amp;c);
    cout &lt;&lt; c &lt;&lt; endl;

    cin.get();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/926010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/926010</guid><dc:creator><![CDATA[Spezi L]]></dc:creator><pubDate>Thu, 24 Nov 2005 12:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 12:07:05 GMT]]></title><description><![CDATA[<p>Vielen Dank,dann werde ich das mal probieren.Dachte es geht allerdings kürzer.<br />
Gruß rees</p>
]]></description><link>https://www.c-plusplus.net/forum/post/926016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/926016</guid><dc:creator><![CDATA[rees]]></dc:creator><pubDate>Thu, 24 Nov 2005 12:07:05 GMT</pubDate></item><item><title><![CDATA[Reply to PI Annaeherung durch Dartpfeile Hilfe on Thu, 24 Nov 2005 12:28:37 GMT]]></title><description><![CDATA[<p>Schon mal was von Referenzen gehört?</p>
<pre><code class="language-cpp">void count(int&amp; c, const wurf&amp;);

void count(int&amp; c, const wurf&amp; w)
{
    c += w.io;
}
</code></pre>
<p>Daran kannst du sehen, dass deine count Funktion momentan vollkommen unnütz ist, denn du kann in main auch gleich</p>
<pre><code class="language-cpp">c += w.io;
</code></pre>
<p>schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/926038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/926038</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Thu, 24 Nov 2005 12:28:37 GMT</pubDate></item></channel></rss>