<?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[Probleme beim übergeben von Buchstaben]]></title><description><![CDATA[<pre><code>#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;

string eingabe;
int len;
bool boolean;

bool test(string eingabe,int len)
{
	char* wort;
	wort=new char[len];
	char* wort2;
	wort2=new char[len];
	wort=0; wort2=0;
	string::iterator i;
    for (i=eingabe.begin(); i!=eingabe.end(); i++)
    {
		wort=i; wort2=i; 
		wort++; wort2++;
    }
	for (wort=0,wort2;wort&lt;wort2;wort++,wort2--) 
	{
		[b]if (*wort==*wort2) boolean=true;[/b]
		else { boolean=false; wort=wort2; }
	}
	return boolean;
}

void main()
{
	std::cout&lt;&lt;endl&lt;&lt;&quot;Bitte geben Sie ein Palindrom ein: &quot;;
	std::cin&gt;&gt;eingabe; len=eingabe.length();
	std::cout&lt;&lt;endl&lt;&lt;eingabe&lt;&lt;endl&lt;&lt;len;;
	boolean=test(eingabe,len);
	if (boolean=true) cout&lt;&lt;endl&lt;&lt;eingabe&lt;&lt;&quot; ist ein Palindrom!&quot;;
	else cout&lt;&lt;endl&lt;&lt;eingabe&lt;&lt;&quot; ist kein Palindrom&quot;;	
}
</code></pre>
<p>Hallo zusammen !</p>
<p>Habe obiges Programm für die Uni geschrieben. Aufgabe ist herauszufinden, ob ein eingebenes Wort ein Palindrom ist. Mein Programm stürzt bei fettgedruckter Stelle einfach ab. Habe dcoh eigentlich alles richtig gemacht. Wisst ihr, wo der Fehler liegt?</p>
<p>LG Boese</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165894/probleme-beim-übergeben-von-buchstaben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 02:28:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165894.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Nov 2006 22:04:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Thu, 23 Nov 2006 22:04:37 GMT]]></title><description><![CDATA[<pre><code>#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;

string eingabe;
int len;
bool boolean;

bool test(string eingabe,int len)
{
	char* wort;
	wort=new char[len];
	char* wort2;
	wort2=new char[len];
	wort=0; wort2=0;
	string::iterator i;
    for (i=eingabe.begin(); i!=eingabe.end(); i++)
    {
		wort=i; wort2=i; 
		wort++; wort2++;
    }
	for (wort=0,wort2;wort&lt;wort2;wort++,wort2--) 
	{
		[b]if (*wort==*wort2) boolean=true;[/b]
		else { boolean=false; wort=wort2; }
	}
	return boolean;
}

void main()
{
	std::cout&lt;&lt;endl&lt;&lt;&quot;Bitte geben Sie ein Palindrom ein: &quot;;
	std::cin&gt;&gt;eingabe; len=eingabe.length();
	std::cout&lt;&lt;endl&lt;&lt;eingabe&lt;&lt;endl&lt;&lt;len;;
	boolean=test(eingabe,len);
	if (boolean=true) cout&lt;&lt;endl&lt;&lt;eingabe&lt;&lt;&quot; ist ein Palindrom!&quot;;
	else cout&lt;&lt;endl&lt;&lt;eingabe&lt;&lt;&quot; ist kein Palindrom&quot;;	
}
</code></pre>
<p>Hallo zusammen !</p>
<p>Habe obiges Programm für die Uni geschrieben. Aufgabe ist herauszufinden, ob ein eingebenes Wort ein Palindrom ist. Mein Programm stürzt bei fettgedruckter Stelle einfach ab. Habe dcoh eigentlich alles richtig gemacht. Wisst ihr, wo der Fehler liegt?</p>
<p>LG Boese</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180402</guid><dc:creator><![CDATA[boese]]></dc:creator><pubDate>Thu, 23 Nov 2006 22:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Thu, 23 Nov 2006 22:15:28 GMT]]></title><description><![CDATA[<p>boese schrieb:</p>
<blockquote>
<pre><code>...
	wort=0; wort2=0;
...
</code></pre>
</blockquote>
<p>das ist schon mal schlecht, damit verlierst du die anfangsadressen der beiden char arrays.<br />
hab's nur überflogen, aber sorry, das programme scheint auch sonst ziemlicher mist zu sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180403</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 23 Nov 2006 22:15:28 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Thu, 23 Nov 2006 22:23:16 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ganz einfach, an der Stelle wo es abstürzt dereferenzierst du ein Objekt das auf 0 zeigt. Deine Anwendung hat sowieso schon viel früher ein Speicherleck.<br />
Hier:</p>
<pre><code class="language-cpp">wort=0; wort2=0;
</code></pre>
<p>setzt du deine Zeiger auf Null, nicht deren Inhalt. Das gleiche auch hier:</p>
<pre><code class="language-cpp">wort=i; wort2=i;
</code></pre>
<p>Außerdem, wenn du wort und wort2 auch noch mit ++ auf das nächste Element zeigen lassen willst, dann verlierst du den Zeiger auf den Anfang des Elements.<br />
Der nächste Fehler ist hier:</p>
<pre><code>for (wort=0,wort2;wort&lt;wort2;wort++,wort2--)
</code></pre>
<p>Ok wort2 dekrementierst du wieder. Kann gut gehen, muss aber nicht. wort hast du aber wieder auf null gesetzt. Das kann nicht funktionieren.<br />
Also ich würde sagen du hast die Funktionsweise von Zeigern noch nicht verstanden.<br />
Du kannst einem Zeiger nicht einen Wert zuweisen, dass lässt ihn nicht auf eine Position zeigen, sondern weißt ihm eine Adresse zu auf die der Zeiger dann zeigt. Wenn du versuchst das zu dereferenzieren fliegt dir natürlich die Anwendung um die Ohren weil du auf Speicher zugreifst der dir nicht gehört.</p>
<p>Du solltest mit Indizierung auf die einzelnen Elemente des Arrays zugreifen, etwa so:</p>
<pre><code class="language-cpp">for(int i=0; i&lt;len; ++i)
  wort[i] = eingabe[i];
</code></pre>
<p>Das ist aber nichts anderes als den Inhalt von eingabe nach wort zu kopieren. Noch einfacher geht es so:</p>
<pre><code class="language-cpp">char *wort = new char[len+1]; // +1 für endekennung '\0'
strncpy(wort, eingabe.c_str(), len);
wort[len]=0; // oder '\0' für die Stringendekennung
</code></pre>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180406</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 23 Nov 2006 22:23:16 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Thu, 23 Nov 2006 22:53:40 GMT]]></title><description><![CDATA[<p>probier mal so:</p>
<pre><code>// eingabe: string als char*
// ausgabe: 1 == palindrom, 0 == kein palindrom
int palindrom (/*const*/ char *str) 
{
   int n = strlen(str) - 1;
   int s = 0;

   for (;; s++, n--)
   {
      if (str[s] != str[n])
         return 0;
      if (s &gt;= n)
         break;
   }
   return 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1180419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180419</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 23 Nov 2006 22:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Fri, 24 Nov 2006 13:04:10 GMT]]></title><description><![CDATA[<p>Wow! Vielen Dank erstmal für eure schnelle Hilfe.</p>
<p>Das mein Programm ziemlicher Mist ist und ich Zeiger nicht wirklich verstanden habe, das dachte ich mir fast. Die Sache ist folgende: Ich habe gerade erst &quot;Einführung in die Informationstechnik für Ingenieure&quot; und das Programm ist eine Hausaufgabe. Mir fehlt zur Bearbeitung einfach der nötige Fundus an Befehlen. Könnt ihr mir einen Tipp geben, wie ich Probleme selber lösen kann, ohne dass ich hier immer nachfragen müsste.</p>
<p>LG Boese</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180690</guid><dc:creator><![CDATA[boese]]></dc:creator><pubDate>Fri, 24 Nov 2006 13:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Fri, 24 Nov 2006 13:10:43 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ein gutes Tutorial und/oder Anfänger-Buch sollten dir dabei helfen. Bezüglich Bücher benutz einfach die Forensuche, dazu gabs hier im C++-Forum schon viele Diskussionen. Ebenso bezüglich Tutorials, hier aber eben 2 Links:<br />
<a href="http://tutorial.schornboeck.net/inhalt.htm" rel="nofollow">http://tutorial.schornboeck.net/inhalt.htm</a><br />
<a href="http://www.volkard.de/Cpp/Tutorial/index.html" rel="nofollow">http://www.volkard.de/Cpp/Tutorial/index.html</a></p>
<p>Du kannst aber auch mal in die Bücherecke und in die Tutorialecke gucken (s. oben rechts).</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180696</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Fri, 24 Nov 2006 13:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim übergeben von Buchstaben on Fri, 24 Nov 2006 13:36:35 GMT]]></title><description><![CDATA[<p>Warum benutzt du nicht durchgehend in deinem Programm die string-Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180712</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 24 Nov 2006 13:36:35 GMT</pubDate></item></channel></rss>