<?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[hallo leute bruche kurz eure hilfe bei einer aufgabe &amp;quot;strrev()&amp;quot;]]></title><description><![CDATA[<p>hallo</p>
<p>also mein problemm lautet:</p>
<p>Einige Compiler-Hersteller stellen eine Funktion strrev() (=string reverse) mit der Schnittstelle<br />
char *strrev(char *pstr);<br />
zur Verfügung. Die Funktion soll einen String &quot;umdrehen&quot;, z.B. &quot;Paul&quot; in &quot;luaP&quot; umwandeln. In pstr wird die<br />
Startadresse der Zeichenkette übergeben, die &quot;umgedreht&quot; werden soll. Das Ergebnis soll die ursprüngliche<br />
Zeichenkette ersetzen, es wird also kein zusätzlicher Speicher für das Ergebnis benötigt. Die in pstr<br />
gespeicherte Adresse soll unverändert als Funktionswert zurückgeliefert werden, um eine Verkettung zu<br />
ermöglichen.<br />
1. Entwickeln Sie die Funktion strrevind(), die sich genau so verhält wie die beschriebene Funktion strrev(), und<br />
intern mit Indizes arbeitet, um auf die einzelnen Zeichen zuzugreifen.<br />
2. Entwickeln Sie zusätzlich die Funktion strrevptr(), die sich genau so verhält wie strrevind(), aber intern mit<br />
Zeigern arbeitet, die inkrementiert bzw. dekrementiert werden.<br />
3. Entwickeln Sie mit der Funktion main() ein Testprogramm, mit dem vom Benutzer ein String angefordert<br />
wird. Dieser String soll in einem char-Array input der Länge 10 gespeichert werden. Die Eingabe soll<br />
sicherstellen, dass bei der Eingabe eines zu langen Strings maximal 9 Zeichen übernommen werden, damit<br />
die Arraygrenzen nicht überschritten werden. Die Zeichenkette soll mit strrevind() umgedreht und das<br />
Ergebnis ausgegeben werden. Die umgedrehte Zeichenkette soll dann mit strrevptr() nochmals<br />
umgedreht und ausgegeben werden. Beim Aufruf von strrevptr() soll überprüft werden, ob die<br />
Verkettung richtig funktioniert, d.h. die Funktion den korrekten Funktionswert zurückliefert. Bei der Ein/-<br />
Ausgabe soll das in den Beispielen (a) und (b) dargestellte Format exakt eingehalten werden (Eingabe zum<br />
besseren Verständnis kursiv dargestellt):<br />
Beispiel (a) Beispiel (b)<br />
String: Paul String: Karl-August<br />
1 x umgedreht: luaP 1 x umgedreht: uguA-lraK<br />
2 x umgedreht: Paul 2 x umgedreht: Karl-Augu<br />
Das gesamte Programm soll vollständig sein und sich ohne Fehlermeldungen und Warnungen übersetzen<br />
lassen!<br />
Lösungshinweise:<br />
Innerhalb der Funktionen strrevind() bzw. strrevptr() benötigen Sie eine Schleife, die beim ersten<br />
Durchlauf das 1. Zeichen mit dem letzten tauscht, beim 2. Durchlauf das 2. Zeichen mit dem vorletzten usw..<br />
Beachten Sie, dass die Anzahl der Schleifendurchläufe nur (etwa) halb so groß ist wie die Länge der<br />
Zeichenkette. Die Schleifensteuerung soll für gerade und ungerade Stringlängen funktionieren. Für das<br />
Umdrehen von &quot;Paul&quot; nach &quot;luaP&quot; benötigen Sie z.B. 2 Schleifendurchläufe, aber für das Umdrehen von &quot;Eva&quot; in<br />
&quot;avE&quot; nur 1 Schleifendurchlauf.<br />
Für den Tausch von jeweils 2 Zeichen setzen Sie am besten eine Hilfsvariable ein und führen einen<br />
&quot;Dreieckstausch&quot; (s. Skript: Pointer5.c) durch.<br />
Beachten Sie, dass das 1. Zeichen den Index 0 und das letzte Zeichen den Index strlen(pstr) - 1 hat.<br />
Das abschließende '\0'-Byte wird nicht in den Tausch einbezogen. Es wird überhaupt nicht bearbeitet, da es<br />
auch nach dem Umdrehen an der richtigen Stelle steht!</p>
<p>vorgegeben ist:</p>
<pre><code>#include &lt;stdio.h&gt;
/* weitere includes? */
char *strrevind(char *pstr);
char *strrevptr(char *pstr);
int main(void)
{
return 0;
}
char *strrevind(char *pstr)
{
}
char *strrevptr(char *pstr)
{
}
</code></pre>
<p>kann mir da bite jemand helfen??</p>
<p>wenigstens die funktionen!</p>
<p>Danke im vorraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/151351/hallo-leute-bruche-kurz-eure-hilfe-bei-einer-aufgabe-quot-strrev-quot</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 08:38:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/151351.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Jun 2006 16:15:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to hallo leute bruche kurz eure hilfe bei einer aufgabe &amp;quot;strrev()&amp;quot; on Sun, 25 Jun 2006 16:17:11 GMT]]></title><description><![CDATA[<p>hallo</p>
<p>also mein problemm lautet:</p>
<p>Einige Compiler-Hersteller stellen eine Funktion strrev() (=string reverse) mit der Schnittstelle<br />
char *strrev(char *pstr);<br />
zur Verfügung. Die Funktion soll einen String &quot;umdrehen&quot;, z.B. &quot;Paul&quot; in &quot;luaP&quot; umwandeln. In pstr wird die<br />
Startadresse der Zeichenkette übergeben, die &quot;umgedreht&quot; werden soll. Das Ergebnis soll die ursprüngliche<br />
Zeichenkette ersetzen, es wird also kein zusätzlicher Speicher für das Ergebnis benötigt. Die in pstr<br />
gespeicherte Adresse soll unverändert als Funktionswert zurückgeliefert werden, um eine Verkettung zu<br />
ermöglichen.<br />
1. Entwickeln Sie die Funktion strrevind(), die sich genau so verhält wie die beschriebene Funktion strrev(), und<br />
intern mit Indizes arbeitet, um auf die einzelnen Zeichen zuzugreifen.<br />
2. Entwickeln Sie zusätzlich die Funktion strrevptr(), die sich genau so verhält wie strrevind(), aber intern mit<br />
Zeigern arbeitet, die inkrementiert bzw. dekrementiert werden.<br />
3. Entwickeln Sie mit der Funktion main() ein Testprogramm, mit dem vom Benutzer ein String angefordert<br />
wird. Dieser String soll in einem char-Array input der Länge 10 gespeichert werden. Die Eingabe soll<br />
sicherstellen, dass bei der Eingabe eines zu langen Strings maximal 9 Zeichen übernommen werden, damit<br />
die Arraygrenzen nicht überschritten werden. Die Zeichenkette soll mit strrevind() umgedreht und das<br />
Ergebnis ausgegeben werden. Die umgedrehte Zeichenkette soll dann mit strrevptr() nochmals<br />
umgedreht und ausgegeben werden. Beim Aufruf von strrevptr() soll überprüft werden, ob die<br />
Verkettung richtig funktioniert, d.h. die Funktion den korrekten Funktionswert zurückliefert. Bei der Ein/-<br />
Ausgabe soll das in den Beispielen (a) und (b) dargestellte Format exakt eingehalten werden (Eingabe zum<br />
besseren Verständnis kursiv dargestellt):<br />
Beispiel (a) Beispiel (b)<br />
String: Paul String: Karl-August<br />
1 x umgedreht: luaP 1 x umgedreht: uguA-lraK<br />
2 x umgedreht: Paul 2 x umgedreht: Karl-Augu<br />
Das gesamte Programm soll vollständig sein und sich ohne Fehlermeldungen und Warnungen übersetzen<br />
lassen!<br />
Lösungshinweise:<br />
Innerhalb der Funktionen strrevind() bzw. strrevptr() benötigen Sie eine Schleife, die beim ersten<br />
Durchlauf das 1. Zeichen mit dem letzten tauscht, beim 2. Durchlauf das 2. Zeichen mit dem vorletzten usw..<br />
Beachten Sie, dass die Anzahl der Schleifendurchläufe nur (etwa) halb so groß ist wie die Länge der<br />
Zeichenkette. Die Schleifensteuerung soll für gerade und ungerade Stringlängen funktionieren. Für das<br />
Umdrehen von &quot;Paul&quot; nach &quot;luaP&quot; benötigen Sie z.B. 2 Schleifendurchläufe, aber für das Umdrehen von &quot;Eva&quot; in<br />
&quot;avE&quot; nur 1 Schleifendurchlauf.<br />
Für den Tausch von jeweils 2 Zeichen setzen Sie am besten eine Hilfsvariable ein und führen einen<br />
&quot;Dreieckstausch&quot; (s. Skript: Pointer5.c) durch.<br />
Beachten Sie, dass das 1. Zeichen den Index 0 und das letzte Zeichen den Index strlen(pstr) - 1 hat.<br />
Das abschließende '\0'-Byte wird nicht in den Tausch einbezogen. Es wird überhaupt nicht bearbeitet, da es<br />
auch nach dem Umdrehen an der richtigen Stelle steht!</p>
<p>vorgegeben ist:</p>
<pre><code>#include &lt;stdio.h&gt;
/* weitere includes? */
char *strrevind(char *pstr);
char *strrevptr(char *pstr);
int main(void)
{
return 0;
}
char *strrevind(char *pstr)
{
}
char *strrevptr(char *pstr)
{
}
</code></pre>
<p>kann mir da bite jemand helfen??</p>
<p>wenigstens die funktionen!</p>
<p>Danke im vorraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1085249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1085249</guid><dc:creator><![CDATA[John Doh]]></dc:creator><pubDate>Sun, 25 Jun 2006 16:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to hallo leute bruche kurz eure hilfe bei einer aufgabe &amp;quot;strrev()&amp;quot; on Sun, 25 Jun 2006 16:25:22 GMT]]></title><description><![CDATA[<p>falsches forum - wie schwer kann es denn sein, das für C zu finden? das hier in ISO C++ umbenennen - das schreckt vielleicht ab <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/1085257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1085257</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 25 Jun 2006 16:25:22 GMT</pubDate></item><item><title><![CDATA[Reply to hallo leute bruche kurz eure hilfe bei einer aufgabe &amp;quot;strrev()&amp;quot; on Sun, 25 Jun 2006 17:08:56 GMT]]></title><description><![CDATA[<p>crossposting. im ansi c hat er das selbe topic.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1085278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1085278</guid><dc:creator><![CDATA[c.rackwitz]]></dc:creator><pubDate>Sun, 25 Jun 2006 17:08:56 GMT</pubDate></item><item><title><![CDATA[Reply to hallo leute bruche kurz eure hilfe bei einer aufgabe &amp;quot;strrev()&amp;quot; on Sun, 25 Jun 2006 17:14:34 GMT]]></title><description><![CDATA[<p>nach dem ich drauf hingewiesen wurde hab ich noch ein im c forum erstellt!</p>
<p>aber jungs trotzdem danke für die sachliche beiträge hat mich weiter gebracht! <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="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1085282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1085282</guid><dc:creator><![CDATA[John Doh]]></dc:creator><pubDate>Sun, 25 Jun 2006 17:14:34 GMT</pubDate></item></channel></rss>