<?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[Palindrom - true oder false?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Habe mal wieder ein Problem bei einer Aufgabe. Und zwar soll ein Programm geschrieben werden, welches vom Benutzer ein Wort oder eine Zahl einliest, entscheidet, ob es sich dabei um eine Palindrom (z.B. otto, abccba, 123321) handelt oder nicht und entsprechend &quot;true&quot; oder &quot;false&quot; ausgibt. Leider gibt mein Programm, unabhängig von der Eingabe, immer &quot;true&quot; aus...! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Wahrscheinlich liegts mal wieder an einem blöden Anfängerfehler, den ich schon seit Stunden erfolglos suche. Kann mir jemand helfen? Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#define BUF 80
using namespace std;

main()	{
	int Zaehler=0, a=0, b=0, var=0;
	char Zeichenkette[BUF];
	bool Palindrom=true;
	cout &lt;&lt; &quot;Bitte Zeichenkette eingeben: &quot;;
	cin &gt;&gt; Zeichenkette;
	for( int z=0; z&lt;BUF &amp;&amp; Zeichenkette[z]!='\0'; z++ )	{
		Zaehler=Zaehler+1;
	}
	for ( int a=0, b=0; a&lt;b &amp;&amp; Palindrom==true; a++, b-- )	{
		if ( (Zeichenkette[a]==Zeichenkette[Zaehler-(1+b)]) == false )	{
			Palindrom=false;
		}
	}
	if( Palindrom == true )	{
		cout &lt;&lt; &quot;true&quot;;
	}
	else	{
		cout &lt;&lt; &quot;false&quot;;
	}
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/251898/palindrom-true-oder-false</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 06:06:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251898.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Oct 2009 10:27:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Palindrom - true oder false? on Mon, 12 Oct 2009 10:27:45 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Habe mal wieder ein Problem bei einer Aufgabe. Und zwar soll ein Programm geschrieben werden, welches vom Benutzer ein Wort oder eine Zahl einliest, entscheidet, ob es sich dabei um eine Palindrom (z.B. otto, abccba, 123321) handelt oder nicht und entsprechend &quot;true&quot; oder &quot;false&quot; ausgibt. Leider gibt mein Programm, unabhängig von der Eingabe, immer &quot;true&quot; aus...! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Wahrscheinlich liegts mal wieder an einem blöden Anfängerfehler, den ich schon seit Stunden erfolglos suche. Kann mir jemand helfen? Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#define BUF 80
using namespace std;

main()	{
	int Zaehler=0, a=0, b=0, var=0;
	char Zeichenkette[BUF];
	bool Palindrom=true;
	cout &lt;&lt; &quot;Bitte Zeichenkette eingeben: &quot;;
	cin &gt;&gt; Zeichenkette;
	for( int z=0; z&lt;BUF &amp;&amp; Zeichenkette[z]!='\0'; z++ )	{
		Zaehler=Zaehler+1;
	}
	for ( int a=0, b=0; a&lt;b &amp;&amp; Palindrom==true; a++, b-- )	{
		if ( (Zeichenkette[a]==Zeichenkette[Zaehler-(1+b)]) == false )	{
			Palindrom=false;
		}
	}
	if( Palindrom == true )	{
		cout &lt;&lt; &quot;true&quot;;
	}
	else	{
		cout &lt;&lt; &quot;false&quot;;
	}
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1791286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791286</guid><dc:creator><![CDATA[newbie007]]></dc:creator><pubDate>Mon, 12 Oct 2009 10:27:45 GMT</pubDate></item><item><title><![CDATA[Reply to Palindrom - true oder false? on Mon, 12 Oct 2009 10:48:29 GMT]]></title><description><![CDATA[<p>statt</p>
<pre><code class="language-cpp">for ( int a=0, b=0; a&lt;b &amp;&amp; Palindrom==true; a++, b-- )	{
		if ( (Zeichenkette[a]==Zeichenkette[Zaehler-(1+b)]) ==
</code></pre>
<p>lieber</p>
<pre><code class="language-cpp">for ( int a=0, b=0; a&lt;Zaehler/2 &amp;&amp; Palindrom==true; a++, b++ )	{
		if ( (Zeichenkette[a]==Zeichenkette[Zaehler-(1+b)]) ==
</code></pre>
<p>, oder?</p>
<p>Aber das Fehlerchen riecht danach, daß Du eigentlich denken wolltest, daß a von links und b von rechts aufeinander zulaufen.<br />
Mach das doch so!</p>
<pre><code class="language-cpp">for ( int a=0, b=Zaehler-1; a&lt;b &amp;&amp; Palindrom==true; a++, b-- )	{
		if ( (Zeichenkette[a]==Zeichenkette[b]) ==
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1791295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791295</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 12 Oct 2009 10:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to Palindrom - true oder false? on Mon, 12 Oct 2009 11:04:23 GMT]]></title><description><![CDATA[<p>oh mann, natürlich!! vielen dank! nach stunden tüftelei sieht man wirklich den wald vor lauter bäumen nicht und machts alles komplizierter als es eigentlich ist! <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/1791299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791299</guid><dc:creator><![CDATA[newbie007]]></dc:creator><pubDate>Mon, 12 Oct 2009 11:04:23 GMT</pubDate></item><item><title><![CDATA[Reply to Palindrom - true oder false? on Mon, 12 Oct 2009 11:27:27 GMT]]></title><description><![CDATA[<p>newbie007 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#define BUF 80
</code></pre>
</blockquote>
<p>Du brauchst für solche Konstanten den Preprocessor nicht. Es geht auch mit <code>const int bufsize = 80;</code></p>
<p>newbie007 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">main()	{
</code></pre>
</blockquote>
<p>Funktionen haben einen Rückgabe-Typen. Der von main ist int.</p>
<p>newbie007 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int Zaehler=0, a=0, b=0, var=0;
	char Zeichenkette[BUF];
	bool Palindrom=true;
	cout &lt;&lt; &quot;Bitte Zeichenkette eingeben: &quot;;
	cin &gt;&gt; Zeichenkette;
</code></pre>
</blockquote>
<p>Siehe <a href="http://de.wikipedia.org/wiki/Puffer%C3%BCberlauf" rel="nofollow">Pufferüberlauf</a></p>
<p>Ich schlage folgendes Programmgerüst vor:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;iomanip&gt;
#include &lt;string&gt;

using namespace std;

bool istPalindrom(string const&amp; x)
{
  ...
}

int main()
{
  cout &lt;&lt; &quot;Wort eingeben: &quot;;
  string wort;
  cin &gt;&gt; wort;
  bool p = istPalindrom(wort);
  cout &lt;&lt; boolalpha &lt;&lt; p &lt;&lt; '\n';
}
</code></pre>
<p>Außerdem:</p>
<pre><code>((a == b) == true)   ist äquivalent zu  (a == b)
((a == b) == false)  ist äquivalent zu  (a != b)
</code></pre>
<p>(zumindest für skalare Typen von a und b)</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791313</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 12 Oct 2009 11:27:27 GMT</pubDate></item></channel></rss>