<?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[Nullpunkt einer Funktion(y-Achse)]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich arbeite an einem Programm, dass den Nullpunkt einer Funkton auf der Y-Achse ausgibt.</p>
<p>Beispiel:</p>
<p>f(x)=x*x+2*x-3 // x*x = x²</p>
<p>f(0)=0²+2*0-3 // Es wird einfach x=0 gemacht</p>
<p>f(0)=-1</p>
<p>also die Y-Koordinate = -1</p>
<p>.<br />
.<br />
.<br />
.</p>
<p>So weit so gut.....<br />
Das wäre die Vorgehensweise, ansich ja ganz simpel. Nun muss das auch ein Computer erledigen können. Ich dachte an folgendes:</p>
<pre><code class="language-cpp">//......

class Token{
public:
	char kind;
	double value;
};

Token get_token();

vector&lt;Token&gt;tok;

int main()
{
	while (cin){
		Token t = get_token();
		tok.push_back(t);
	}
	//......

	for(int i=0;i&lt;tok.size();++i){
		if(tok[i].value==x){
	             tok[i].value=0
		}

		//........

}
</code></pre>
<p>Gut, jetzt wäre ja schonmal nach dem x gesucht worden und es wäre durch 0 ersetzt worden....<br />
Jetzt muss aber der Term noch ausgerechnet werden, um auf y zu kommen. Dabei gelten natürlich auch alle Rechenregeln, wie &quot;Punkt-vor-Strich&quot; etc.</p>
<p>Wie kann ich jetzt die Token wieder zu einem Term zusammensetzen und diesen dann ,mit berücksichtigung der Rechenregeln, aurechnen lassen?</p>
<p>Ein Beispielcode würde mir sehr weiter helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293056/nullpunkt-einer-funktion-y-achse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 04:56:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293056.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Sep 2011 08:41:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 08:43:08 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich arbeite an einem Programm, dass den Nullpunkt einer Funkton auf der Y-Achse ausgibt.</p>
<p>Beispiel:</p>
<p>f(x)=x*x+2*x-3 // x*x = x²</p>
<p>f(0)=0²+2*0-3 // Es wird einfach x=0 gemacht</p>
<p>f(0)=-1</p>
<p>also die Y-Koordinate = -1</p>
<p>.<br />
.<br />
.<br />
.</p>
<p>So weit so gut.....<br />
Das wäre die Vorgehensweise, ansich ja ganz simpel. Nun muss das auch ein Computer erledigen können. Ich dachte an folgendes:</p>
<pre><code class="language-cpp">//......

class Token{
public:
	char kind;
	double value;
};

Token get_token();

vector&lt;Token&gt;tok;

int main()
{
	while (cin){
		Token t = get_token();
		tok.push_back(t);
	}
	//......

	for(int i=0;i&lt;tok.size();++i){
		if(tok[i].value==x){
	             tok[i].value=0
		}

		//........

}
</code></pre>
<p>Gut, jetzt wäre ja schonmal nach dem x gesucht worden und es wäre durch 0 ersetzt worden....<br />
Jetzt muss aber der Term noch ausgerechnet werden, um auf y zu kommen. Dabei gelten natürlich auch alle Rechenregeln, wie &quot;Punkt-vor-Strich&quot; etc.</p>
<p>Wie kann ich jetzt die Token wieder zu einem Term zusammensetzen und diesen dann ,mit berücksichtigung der Rechenregeln, aurechnen lassen?</p>
<p>Ein Beispielcode würde mir sehr weiter helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123184</guid><dc:creator><![CDATA[Golfi1812]]></dc:creator><pubDate>Sat, 24 Sep 2011 08:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 09:16:37 GMT]]></title><description><![CDATA[<p>Ich sag mal so: Du übernimmst dich, wenn du das selber programmieren möchtest. Gewaltig. Mathematik zu parsen, besonders wenn es mehr sein soll als +-*/, ist ganz schön schwer zu programmieren.</p>
<p>Irgendwo geistert hier im Forum ein recht ausgereifter Parser rum, den sicherlich gleich jemand verlinkt, aber soweit ich mich erinnere wird der auch seine Probleme mit z.B. Potenzen bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123188</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 24 Sep 2011 09:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 10:22:34 GMT]]></title><description><![CDATA[<p>Okay, das mit den Potenzen ist unwichtig. Wenn es sich um eine quadratische Funkton handelt, wird das nicht als z.b. x² sondern als x*x vom Benutzer eingegeben. Es geht also eigentlich nur um funktionen mit -,+,* . Geteilt ,Klammern, Potenzen etc. können erstmal ausser Acht gelassen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123197</guid><dc:creator><![CDATA[Golfi1812]]></dc:creator><pubDate>Sat, 24 Sep 2011 10:22:34 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 10:43:33 GMT]]></title><description><![CDATA[<p>Golfi1812 schrieb:</p>
<blockquote>
<p>Okay, das mit den Potenzen ist unwichtig. Wenn es sich um eine quadratische Funkton handelt, wird das nicht als z.b. x² sondern als x*x vom Benutzer eingegeben. Es geht also eigentlich nur um funktionen mit -,+,* . Geteilt ,Klammern, Potenzen etc. können erstmal ausser Acht gelassen werden.</p>
</blockquote>
<p>Ok, ich nehme mal an, dass du das selber schreiben möchtest. Die übliche Idee ist, dass man den Ausdruck zuerst in umgekehrt polnische Notation umschreibt:<br />
<a href="http://scriptasylum.com/tutorials/infix_postfix/algorithms/infix-postfix/index.htm" rel="nofollow">http://scriptasylum.com/tutorials/infix_postfix/algorithms/infix-postfix/index.htm</a><br />
Und das lässt sich dann relativ einfach mit konventionellen Mitteln verarbeiten:<br />
<a href="http://scriptasylum.com/tutorials/infix_postfix/algorithms/postfix-evaluation/index.htm" rel="nofollow">http://scriptasylum.com/tutorials/infix_postfix/algorithms/postfix-evaluation/index.htm</a><br />
Das gleiche in etwas ausführlicher:<br />
<a href="http://lukaszwrobel.pl/blog/math-parser-part-1-introduction" rel="nofollow">http://lukaszwrobel.pl/blog/math-parser-part-1-introduction</a></p>
<p>Oder falls es einfach nur funktionieren soll, kannst du dir ja mal dies hier angucken:<br />
<a href="http://muparser.sourceforge.net/" rel="nofollow">http://muparser.sourceforge.net/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123203</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 24 Sep 2011 10:43:33 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 10:45:31 GMT]]></title><description><![CDATA[<p>Nur am Rande: die Nullstellen von <code>x²+2x-3</code> sind 1 und -3.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123205</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Sat, 24 Sep 2011 10:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 10:46:10 GMT]]></title><description><![CDATA[<p>Danke, gibt es auch schon Parservorlagen aus denen man sich bedienen kann?</p>
<p>Vielleicht auch dazu ein paar Links, denn das selbst zu schreiben wäre aufwendig, ist ja nur ein &quot;Testprojekt&quot; möchte da nicht so viel Zeit investieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123207</guid><dc:creator><![CDATA[Golfi1812]]></dc:creator><pubDate>Sat, 24 Sep 2011 10:46:10 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 10:54:01 GMT]]></title><description><![CDATA[<p>Selberschreiben ist schon ok. Siehe &quot;recursive descent parser&quot;.</p>
<p>Ansonsten schau bei &quot;Dankert Parser&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123210</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 24 Sep 2011 10:54:01 GMT</pubDate></item><item><title><![CDATA[Reply to Nullpunkt einer Funktion(y-Achse) on Sat, 24 Sep 2011 11:35:08 GMT]]></title><description><![CDATA[<p>OK, dann empfehle ich auch mal wieder meinen Funktionsparser: <a href="http://www.c-plusplus.net/forum/p1780654#1780654" rel="nofollow">http://www.c-plusplus.net/forum/p1780654#1780654</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123216</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sat, 24 Sep 2011 11:35:08 GMT</pubDate></item></channel></rss>