<?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[string in Funktion übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Programm geschrieben und finde den Fehler nicht. Ich habe alle Fehler beseitigt aber es bricht immer an der gleichen Stelle ab. Ich weiß leider überhaupt nicht worann es liegen kann.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;windows.h&gt;

using namespace std;

void einlesen(string[],int);
string sortieren(string[], int);
void ausgabe(string[], int);

void main()
{
	string *vorname, *sortiert;
	int n = 0;
	int i = 0;

	cout &lt;&lt; &quot;Wie viele Namen werden eingelesen?&quot;;
	cin &gt;&gt; n;

	vorname = new string[n];
	sortiert = new string[n];

	einlesen(vorname, n);
	sortiert[n] = sortieren(vorname, n);
	ausgabe(sortiert, n);

	system(&quot;Pause&quot;);
}

void einlesen(string vorname[], int n)
{
	system(&quot;cls&quot;);
	for(int i = 0; i &lt; n; i++)
	{
		cout &lt;&lt; i + 1 &lt;&lt; &quot;.ter Vorname: &quot;;
		cin &gt;&gt; vorname[i];
		cout &lt;&lt; endl;
	}
}

string sortieren(string vorname[], int n)
{
	int i = 0, j = 0;
	string merker;

	system(&quot;cls&quot;);
	for(i = 0; i &lt; n; i++)
	{
		for(j = 0; j &lt; n - 1; j++)
		{
			if(vorname[j] &gt; vorname[j+1])
			{
				merker = vorname[j];
				vorname[j] = vorname[j + 1];
				vorname[j + 1] = merker;
			}
		}
	}
	return vorname[n];
}		

void ausgabe(string vorname[], int n)
{
	system(&quot;cls&quot;);
	cout &lt;&lt; &quot;Jetzt erfolgt die sortierte Ausgabe der Namen&quot;;
	cout &lt;&lt; endl;

	for(int i = 0; i &lt; n; i++)
	{
		cout &lt;&lt; i + 1 &lt;&lt; &quot;.ter Vorname: &quot; &lt;&lt; vorname[i];
		cout &lt;&lt; &quot;\n&quot;;
	}
}
</code></pre>
<p>Es hat mir Sicherheit etwas mit string zu tuhen, kenne mich da aber leider noch sehr wenig aus.</p>
<p>Was soll das Programm machen? Das Programm soll Namen einlesen und diese dann sortiert wieder ausgeben.</p>
<p>Ich vermute die Fehler in der sortieren-Funktion, bzw. im Aufruf dieser. Hoffe Ihr wisst was damit anzufangen.</p>
<p>f. G.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212995/string-in-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 12:28:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212995.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 May 2008 08:29:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 08:29:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Programm geschrieben und finde den Fehler nicht. Ich habe alle Fehler beseitigt aber es bricht immer an der gleichen Stelle ab. Ich weiß leider überhaupt nicht worann es liegen kann.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;windows.h&gt;

using namespace std;

void einlesen(string[],int);
string sortieren(string[], int);
void ausgabe(string[], int);

void main()
{
	string *vorname, *sortiert;
	int n = 0;
	int i = 0;

	cout &lt;&lt; &quot;Wie viele Namen werden eingelesen?&quot;;
	cin &gt;&gt; n;

	vorname = new string[n];
	sortiert = new string[n];

	einlesen(vorname, n);
	sortiert[n] = sortieren(vorname, n);
	ausgabe(sortiert, n);

	system(&quot;Pause&quot;);
}

void einlesen(string vorname[], int n)
{
	system(&quot;cls&quot;);
	for(int i = 0; i &lt; n; i++)
	{
		cout &lt;&lt; i + 1 &lt;&lt; &quot;.ter Vorname: &quot;;
		cin &gt;&gt; vorname[i];
		cout &lt;&lt; endl;
	}
}

string sortieren(string vorname[], int n)
{
	int i = 0, j = 0;
	string merker;

	system(&quot;cls&quot;);
	for(i = 0; i &lt; n; i++)
	{
		for(j = 0; j &lt; n - 1; j++)
		{
			if(vorname[j] &gt; vorname[j+1])
			{
				merker = vorname[j];
				vorname[j] = vorname[j + 1];
				vorname[j + 1] = merker;
			}
		}
	}
	return vorname[n];
}		

void ausgabe(string vorname[], int n)
{
	system(&quot;cls&quot;);
	cout &lt;&lt; &quot;Jetzt erfolgt die sortierte Ausgabe der Namen&quot;;
	cout &lt;&lt; endl;

	for(int i = 0; i &lt; n; i++)
	{
		cout &lt;&lt; i + 1 &lt;&lt; &quot;.ter Vorname: &quot; &lt;&lt; vorname[i];
		cout &lt;&lt; &quot;\n&quot;;
	}
}
</code></pre>
<p>Es hat mir Sicherheit etwas mit string zu tuhen, kenne mich da aber leider noch sehr wenig aus.</p>
<p>Was soll das Programm machen? Das Programm soll Namen einlesen und diese dann sortiert wieder ausgeben.</p>
<p>Ich vermute die Fehler in der sortieren-Funktion, bzw. im Aufruf dieser. Hoffe Ihr wisst was damit anzufangen.</p>
<p>f. G.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507906</guid><dc:creator><![CDATA[Lionhead]]></dc:creator><pubDate>Tue, 13 May 2008 08:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 08:36:55 GMT]]></title><description><![CDATA[<p>schmeiß das new zeug raus, du benutzt strings, die sind vom haus aus dynamisch, du brauchst strings nicht wie alte char array benutzen die due je nach größe neu allozieren musst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507912</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Tue, 13 May 2008 08:36:55 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 08:42:59 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>schmeiß das new zeug raus, du benutzt strings, die sind vom haus aus dynamisch, du brauchst strings nicht wie alte char array benutzen die due je nach größe neu allozieren musst</p>
</blockquote>
<p>Er will aber mehrere Strings verwalten...</p>
<p>Anstatt mit string* und new zu arbeiten, solltest Du vielleicht vector&lt;string&gt; benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507917</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 13 May 2008 08:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 08:47:04 GMT]]></title><description><![CDATA[<p>ja er kann ja mit mehreren strings arbeiten, dafür braucht er doch aber nicht mit new arbeiten, deine variante mit vector&lt;string&gt; empfinde ich auch als die einzigste beste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507919</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Tue, 13 May 2008 08:47:04 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 08:49:59 GMT]]></title><description><![CDATA[<p>Danke erstmal,</p>
<p>wir _müssen_ *variable, new etc. benutzen (Schule), kann es also nicht rausschmeißen oder es durch Vektoren ersetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507921</guid><dc:creator><![CDATA[Lionhead]]></dc:creator><pubDate>Tue, 13 May 2008 08:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 08:54:00 GMT]]></title><description><![CDATA[<p>Lionhead schrieb:</p>
<blockquote>
<p>Danke erstmal,</p>
<p>wir _müssen_ *variable, new etc. benutzen (Schule), kann es also nicht rausschmeißen oder es durch Vektoren ersetzen.</p>
</blockquote>
<p>Dann musst Du sowohl den Puffer für den sortierten als auch für den unsortieten Speicher an die Funktion übergeben:</p>
<pre><code class="language-cpp">//Deklaration
void sortieren(string* unsortiert, string* sortiert, size_t length);

//Definition
void sortieren(string* unsortiert, string* sortiert, size_t length)
{
    size_t i = 0, j = 0;
    string merker;

    //...kopieren
    for( i = 0; i &lt; length; ++ i )
    {
        sortiert[i] = unsortiert[i];
    }

    //...und sortieren
    for(i = 0; i &lt; length; i++)
    {
        for(j = 0; j &lt; length - 1; j++)
        {
            if(sortiert[j] &gt; sortiert[j+1])
            {
                merker = sortiert[j];
                sortiert[j] = sortiert[j + 1];
                sortiert[j + 1] = merker;
            }
        }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1507923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507923</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 13 May 2008 08:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 09:34:14 GMT]]></title><description><![CDATA[<p>Lionhead schrieb:</p>
<blockquote>
<p>Wir _müssen_ *variable, new etc. benutzen (Schule), kann es also nicht rausschmeißen oder es durch Vektoren ersetzen.</p>
</blockquote>
<p>*sigh* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507955</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 May 2008 09:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 18:09:56 GMT]]></title><description><![CDATA[<p>Was genau ist den jetzt size_t?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508349</guid><dc:creator><![CDATA[Lionhead]]></dc:creator><pubDate>Tue, 13 May 2008 18:09:56 GMT</pubDate></item><item><title><![CDATA[Reply to string in Funktion übergeben on Tue, 13 May 2008 18:21:40 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/clibrary/cstring/size_t.html" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cstring/size_t.html</a></p>
<blockquote>
<p>...<br />
and is defined in the &lt;cstring&gt; header file (among others) <strong>as an unsigned integral type.</strong><br />
...</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1508360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508360</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Tue, 13 May 2008 18:21:40 GMT</pubDate></item></channel></rss>