<?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[Sieb des Eratosthenes]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe mich versucht das Sieb des Eratosthenes in C++ zu schreiben. Dabei hab ich eine der gängigen Einleitungen verfolgt. Da ich in C++ noch nicht firm bin (wirklich erster Versuch), poste ich den Quelltext hier hin, da ich schon glaube, daß syntaxmäßig einige bugs enthalten sind.</p>
<p>#include &lt;iostream&gt;</p>
<p>using namespace std;</p>
<p>int main ()<br />
{<br />
int size;<br />
int array [] = new [size+1];</p>
<p>for (int i= 0; i&lt; size+1 ; i++)<br />
array[i]= 1;</p>
<p>int boundary= srqt(size);</p>
<p>for (j=2; j &lt; boundary; j++)<br />
{<br />
for (n=1; n&lt;(int) (boundary/ j); n++)<br />
{<br />
array[j*n]= 0;<br />
}<br />
}</p>
<p>int counter= 0;</p>
<p>for (int i= 0; i&lt; size+1 ; i++)<br />
{<br />
if (array[i] == 1)<br />
counter++;<br />
}<br />
}</p>
<p>Die offenen Fragen sind: Ist das array richtig iinitialisiert? Irgendwo muß es doch schon eine Bibliotheksfunktion zum Wurzelziehen geben, nur wo? Benutze Microsoft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Visual C++ 6.0. Danke im voraus.</p>
<p>mfg</p>
<p>Mole</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121553/sieb-des-eratosthenes</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 19:17:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121553.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Sep 2005 07:10:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sieb des Eratosthenes on Sun, 25 Sep 2005 07:10:09 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe mich versucht das Sieb des Eratosthenes in C++ zu schreiben. Dabei hab ich eine der gängigen Einleitungen verfolgt. Da ich in C++ noch nicht firm bin (wirklich erster Versuch), poste ich den Quelltext hier hin, da ich schon glaube, daß syntaxmäßig einige bugs enthalten sind.</p>
<p>#include &lt;iostream&gt;</p>
<p>using namespace std;</p>
<p>int main ()<br />
{<br />
int size;<br />
int array [] = new [size+1];</p>
<p>for (int i= 0; i&lt; size+1 ; i++)<br />
array[i]= 1;</p>
<p>int boundary= srqt(size);</p>
<p>for (j=2; j &lt; boundary; j++)<br />
{<br />
for (n=1; n&lt;(int) (boundary/ j); n++)<br />
{<br />
array[j*n]= 0;<br />
}<br />
}</p>
<p>int counter= 0;</p>
<p>for (int i= 0; i&lt; size+1 ; i++)<br />
{<br />
if (array[i] == 1)<br />
counter++;<br />
}<br />
}</p>
<p>Die offenen Fragen sind: Ist das array richtig iinitialisiert? Irgendwo muß es doch schon eine Bibliotheksfunktion zum Wurzelziehen geben, nur wo? Benutze Microsoft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Visual C++ 6.0. Danke im voraus.</p>
<p>mfg</p>
<p>Mole</p>
]]></description><link>https://www.c-plusplus.net/forum/post/879459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/879459</guid><dc:creator><![CDATA[Mole]]></dc:creator><pubDate>Sun, 25 Sep 2005 07:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to Sieb des Eratosthenes on Sun, 25 Sep 2005 07:54:17 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ja natürlich sind da Fehler drin, in welchem Programm eines Anfängers sind keine Fehler? Aber der Compiler deiner Wahl wird dir schon anzeigen wo die Probleme liegen. Verusch das mal zu kompilieren und arbeite dich durch die Compilerfehlermeldungen - da lernst wesentlich mehr, als wenn wir dir jetzt sagen wo die Probleme liegen.</p>
<p>sqrt ist übrigens die Wurzelfunktion aus der math.h</p>
<p>Ein Array mit definierbarer Größe geht übrigens so:</p>
<pre><code class="language-cpp">int *i = new int[size];
</code></pre>
<p>Da sollte size aber vorher einen sinnvollen Wert haben.</p>
<p>Viel Spaß beim Proggen,</p>
<p>Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/879482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/879482</guid><dc:creator><![CDATA[bluphx]]></dc:creator><pubDate>Sun, 25 Sep 2005 07:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to Sieb des Eratosthenes on Sun, 25 Sep 2005 14:04:12 GMT]]></title><description><![CDATA[<p>mir sind in deinem code ein paar fehler aufgefallen:</p>
<ol>
<li>das, was schon bluphx schrieb: du mußt das array so deklarieren:</li>
</ol>
<pre><code class="language-cpp">int *array=new[size+1];
</code></pre>
<ol start="2">
<li>
<p>dein code läßt den wert von array[0] und array[1] auf 1 stehen!</p>
</li>
<li>
<p>mir ist nicht klar, warum du in</p>
</li>
</ol>
<pre><code class="language-cpp">for (n=1; n&lt;(int) (boundary/ j); n++)
</code></pre>
<p>boundary/j anstelle von boundary schreibst. wenn du vermeiden willst, das eine multiplikation zweimal durchgeführt wird, dann geht das so:</p>
<pre><code class="language-cpp">for(n=1; n&lt;=j; n++)
</code></pre>
<ol start="4">
<li>deine schleife durchläuft nicht alle elemente des arrays! es blieben deshalb viele array-elemente auf 1, obwohl deren indizes keine primzahen sind. am besten, du stellst erst sicher, das size eine quadratzahl ist.</li>
</ol>
<p>da hast du dir für deinen ersten versuch gleich was ziemlich kniffliges ausgesucht. aber lass dich von der ellenlangen fehlerliste nicht entmutigen. da mußte jeder anfänger mal durch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/879659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/879659</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Sun, 25 Sep 2005 14:04:12 GMT</pubDate></item><item><title><![CDATA[Reply to Sieb des Eratosthenes on Sun, 25 Sep 2005 14:02:31 GMT]]></title><description><![CDATA[<p>Konfusius schrieb:</p>
<blockquote>
<ol>
<li>das, was schon bluphx schrieb: du mußt das array so deklarieren:</li>
</ol>
<pre><code class="language-cpp">int *array=new[size+1];
</code></pre>
</blockquote>
<p>Falsch</p>
<pre><code class="language-cpp">int *array=new int[size+1]
</code></pre>
<p>war richtig. Bei dir weis der Compiler nicht, was er für ein Array anlegen soll</p>
]]></description><link>https://www.c-plusplus.net/forum/post/879665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/879665</guid><dc:creator><![CDATA[gurru]]></dc:creator><pubDate>Sun, 25 Sep 2005 14:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Sieb des Eratosthenes on Sun, 25 Sep 2005 14:06:26 GMT]]></title><description><![CDATA[<p>tschuldigung, tippfehler <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/879666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/879666</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Sun, 25 Sep 2005 14:06:26 GMT</pubDate></item><item><title><![CDATA[Reply to Sieb des Eratosthenes on Mon, 26 Sep 2005 19:41:40 GMT]]></title><description><![CDATA[<p>Danke für Eure Hinweise. Leider komme ich jetzt erst wieder dazu mich mit dem Programm zu beschäftigen.</p>
<p>Ich denke der Tipp, auf die Fehlermeldungen des Compilers zu reagieren und daraus irgendwie sein Code zu basteln, ist gar nicht mal so schlecht. Also fang ich mal an und werde berichten, wenn etwas noch im unklaren bleiben sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/880802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880802</guid><dc:creator><![CDATA[Mole]]></dc:creator><pubDate>Mon, 26 Sep 2005 19:41:40 GMT</pubDate></item></channel></rss>