<?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[Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt;]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>bin neu bei C++, habe vorher in Delphi programmiert und habe nun aus Interesse mit C++ angefangen. Nun wollte ich zu Anfang mal so Standard-Programme machen, wie in diesem Beispiel das Lösen einer quadratischen Gleichung mit der pq-Formel.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main(int argc, char *argv[])
{
  double a = 1;
  double b = 1;
  double c = 1;
  double p = 1;
  double q = 1;
  double d = 0;
  double solution1 = 0;
  double solution2 = 0;

  cout &lt;&lt; &quot;a=&quot;;
  cin &gt;&gt; a;

  cout &lt;&lt; &quot;b=&quot;;
  cin &gt;&gt; b;

  cout &lt;&lt; &quot;c=&quot;;
  cin &gt;&gt; c;

  if (a == 0) {
    if (b == 0) {
      if (c == 0) {
        cout &lt;&lt; &quot;This is a true expression.&quot; &lt;&lt; endl;
      }
      else {
        cout &lt;&lt; &quot;This is a false expression.&quot; &lt;&lt; endl;
      }
    }
    else {
      solution1 = -c/b;
      cout &lt;&lt; &quot;There is one solution: &quot; &lt;&lt; solution1 &lt;&lt; endl;
    }
  }
  else {
    p = b/a;
    q = c/a;
    d = p*p/4 - q; //Diskriminante
    if (d &lt; 0) {
      cout &lt;&lt; &quot;There is no solution in IR.&quot; &lt;&lt; endl;
    }
    else if (d=0) {
      solution1 = -p/2;
      cout &lt;&lt; &quot;There is one solution in IR: &quot; &lt;&lt; solution1 &lt;&lt; endl;
    }
    else {
      solution1 = -p/2 + sqrt(d); // HIER LÄUFT IRGENDWAS NICHT RICHTIG !!!
      solution2 = -p/2 - sqrt(d);
      cout &lt;&lt; &quot;There are two solutions: &quot; &lt;&lt; solution1 &lt;&lt; &quot; and &quot;
           &lt;&lt; solution2 &lt;&lt; endl;
    }
  }

  system(&quot;PAUSE&quot;);
  return EXIT_SUCCESS;
}
</code></pre>
<p>Als Beispiel habe ich x²+5x+6 ausprobiert, mit den Lösungen x=-2 und x=-3, allerdings gibt das Programm als Lösungen x=-2.5 und x=-2.5 aus, also nur -p/2.</p>
<p>Streiche ich -p/2 aus dem Quelltext, so dass nur noch sqrt(d) dort steht, so kommt 0 heraus. Schreibe ich allerdings anstelle von sqrt(d) sqrt(0.25), läufts so wie es soll.</p>
<p>Was habe ich falsch gemacht bzw. nicht beachtet?</p>
<p>MfG,</p>
<p>Max</p>
<p>P.S.: IDE ist übrigens wxDev++ und Compiler ist MingW.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240026/neuling-probleme-mit-sqrt-aus-lt-cmath-gt</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 05:57:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240026.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Apr 2009 17:54:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 17:54:39 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>bin neu bei C++, habe vorher in Delphi programmiert und habe nun aus Interesse mit C++ angefangen. Nun wollte ich zu Anfang mal so Standard-Programme machen, wie in diesem Beispiel das Lösen einer quadratischen Gleichung mit der pq-Formel.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main(int argc, char *argv[])
{
  double a = 1;
  double b = 1;
  double c = 1;
  double p = 1;
  double q = 1;
  double d = 0;
  double solution1 = 0;
  double solution2 = 0;

  cout &lt;&lt; &quot;a=&quot;;
  cin &gt;&gt; a;

  cout &lt;&lt; &quot;b=&quot;;
  cin &gt;&gt; b;

  cout &lt;&lt; &quot;c=&quot;;
  cin &gt;&gt; c;

  if (a == 0) {
    if (b == 0) {
      if (c == 0) {
        cout &lt;&lt; &quot;This is a true expression.&quot; &lt;&lt; endl;
      }
      else {
        cout &lt;&lt; &quot;This is a false expression.&quot; &lt;&lt; endl;
      }
    }
    else {
      solution1 = -c/b;
      cout &lt;&lt; &quot;There is one solution: &quot; &lt;&lt; solution1 &lt;&lt; endl;
    }
  }
  else {
    p = b/a;
    q = c/a;
    d = p*p/4 - q; //Diskriminante
    if (d &lt; 0) {
      cout &lt;&lt; &quot;There is no solution in IR.&quot; &lt;&lt; endl;
    }
    else if (d=0) {
      solution1 = -p/2;
      cout &lt;&lt; &quot;There is one solution in IR: &quot; &lt;&lt; solution1 &lt;&lt; endl;
    }
    else {
      solution1 = -p/2 + sqrt(d); // HIER LÄUFT IRGENDWAS NICHT RICHTIG !!!
      solution2 = -p/2 - sqrt(d);
      cout &lt;&lt; &quot;There are two solutions: &quot; &lt;&lt; solution1 &lt;&lt; &quot; and &quot;
           &lt;&lt; solution2 &lt;&lt; endl;
    }
  }

  system(&quot;PAUSE&quot;);
  return EXIT_SUCCESS;
}
</code></pre>
<p>Als Beispiel habe ich x²+5x+6 ausprobiert, mit den Lösungen x=-2 und x=-3, allerdings gibt das Programm als Lösungen x=-2.5 und x=-2.5 aus, also nur -p/2.</p>
<p>Streiche ich -p/2 aus dem Quelltext, so dass nur noch sqrt(d) dort steht, so kommt 0 heraus. Schreibe ich allerdings anstelle von sqrt(d) sqrt(0.25), läufts so wie es soll.</p>
<p>Was habe ich falsch gemacht bzw. nicht beachtet?</p>
<p>MfG,</p>
<p>Max</p>
<p>P.S.: IDE ist übrigens wxDev++ und Compiler ist MingW.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703792</guid><dc:creator><![CDATA[konbom]]></dc:creator><pubDate>Thu, 30 Apr 2009 17:54:39 GMT</pubDate></item><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 18:00:54 GMT]]></title><description><![CDATA[<p>1. DEV c++ ist müll (ich muss es wissen ich benutze es auch, WARUM AUCH IMMER)</p>
<p>2. so viel vom ziel des scriptes versteh ich ja nicht, aber cih würde mit klammern nicht so sparsam sein. zb:</p>
<pre><code class="language-cpp">solution1 = (((-p)/2) + sqrt(d)); // HIER LÄUFT IRGENDWAS NICHT RICHTIG !!!
</code></pre>
<p>sieht vielleicht nicht so hübsch ,aber hilft vielleicht.</p>
<p>{ps: soll das was mit Funktionen für parabeln sein oder so ? gott ist etwas her als ich das zuletzt in mathe hatte.|| quadratische Funktionen ?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703801</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 18:06:26 GMT]]></title><description><![CDATA[<p>1. wxDev++ ist in Ordnung<br />
2. Klammersetzung ist in Ordnung<br />
3. Tim06TR hat keine Ahnung ... lol sorry, ist nicht so gemeint, nur ein Witz <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="😉"
    /><br />
4. Zeile 48:</p>
<pre><code class="language-cpp">else if (d=0) // das sollte wohl eher == sein ;)
</code></pre>
<ol start="5">
<li></li>
</ol>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39453.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39453.html</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703805</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:06:26 GMT</pubDate></item><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 18:05:43 GMT]]></title><description><![CDATA[<p>[quote=&quot;konbom&quot;]</p>
<pre><code class="language-cpp">else if (d=0) {
</code></pre>
<p>:p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703808</guid><dc:creator><![CDATA[void*]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:05:43 GMT</pubDate></item><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 18:08:22 GMT]]></title><description><![CDATA[<p>Ajajaj, das kommt, wenn man jahrelang Delphi programmiert hat, da wärs richtig...</p>
<p>Danke, danke, danke <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="😃"
    /> <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>
<p>Den Fehler macht hoffentlich jeder Anfänger mal <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/1703812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703812</guid><dc:creator><![CDATA[konbom]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:08:22 GMT</pubDate></item><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 18:09:03 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>3. Tim06TR hat keine Ahnung ... lol sorry, ist nicht so gemeint, nur ein Witz <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>
</blockquote>
<p>mag sein, aber ich versuch mein bestes :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703813</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Neuling: Probleme mit sqrt aus &amp;lt;cmath&amp;gt; on Thu, 30 Apr 2009 18:14:02 GMT]]></title><description><![CDATA[<p>konbom schrieb:</p>
<blockquote>
<p>Den Fehler macht hoffentlich jeder Anfänger mal <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>
</blockquote>
<p>Ich mache es sogar zum Teil heute noch. Deshalb gibt es da einen kleinen Trick, welcher von einigen allerdings als nicht besonders schön angesehen wird. Aber ich zeig ihn jetzt mal trotzdem, kannst dann selber drüber urteilen <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>
<pre><code class="language-cpp">int main()
{
  double d = 0.0;

  if(0.0 = d) // Kompilerfehler ;)
  {
    // ...
  }

  return 0;
}
</code></pre>
<p>Also einfach die Sache vertauschen, dann wird der Kompiler dich darauf hinweisen <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>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703821</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:14:02 GMT</pubDate></item></channel></rss>