<?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[Array in der Mitte teilen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab ein Problem mit dem folgenden Code:</p>
<pre><code class="language-cpp">bool Degen(char ary[1024])
{
	int l = strlen(key);
	char x[1024] = &quot;&quot;;
	char y[1024] = &quot;&quot;;

	for(int i = 0; i!=(l / 2); i++)
	{
		char x[i] = ary[i];
	};
	for(int a = (l / 2 + 1); a!=l; a++)
	{
		char y[a] = ary[(a + (l / 2 + 1))];
	};
	cout &lt;&lt; x &lt;&lt; endl;
	cout &lt;&lt; y &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>Damit will ich bezwecken, dass ein Array in der Mitte geteilt wird und beide Teile einzeln vorliegen. Noch als Info: der Array hat <strong>immer</strong> eine gerade Zahl.</p>
<p>Danke für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187213/array-in-der-mitte-teilen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 14:37:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187213.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jul 2007 09:31:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 09:31:35 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab ein Problem mit dem folgenden Code:</p>
<pre><code class="language-cpp">bool Degen(char ary[1024])
{
	int l = strlen(key);
	char x[1024] = &quot;&quot;;
	char y[1024] = &quot;&quot;;

	for(int i = 0; i!=(l / 2); i++)
	{
		char x[i] = ary[i];
	};
	for(int a = (l / 2 + 1); a!=l; a++)
	{
		char y[a] = ary[(a + (l / 2 + 1))];
	};
	cout &lt;&lt; x &lt;&lt; endl;
	cout &lt;&lt; y &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>Damit will ich bezwecken, dass ein Array in der Mitte geteilt wird und beide Teile einzeln vorliegen. Noch als Info: der Array hat <strong>immer</strong> eine gerade Zahl.</p>
<p>Danke für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327049</guid><dc:creator><![CDATA[Laundry]]></dc:creator><pubDate>Tue, 17 Jul 2007 09:31:35 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 09:41:18 GMT]]></title><description><![CDATA[<p>Erstens: Wie äußert sich dein Problem?</p>
<p>Zweitens: Schon beim ersten Überfliegen des Quelltextes fällt auf, daß du keine Null-Terminatoren in die Ziel-Arrays eingebaut hast.</p>
<p>PS: Und die Angabe 'char array[1024]' beim Parameter hat keinen Einfluß darauf, wie groß das übergebene char-Array tatsächlich werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327056</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Jul 2007 09:41:18 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 09:43:37 GMT]]></title><description><![CDATA[<p>Das Problem lieg in den 2 Zeilen:</p>
<pre><code class="language-cpp">char x[i] = ary[i];
</code></pre>
<pre><code class="language-cpp">char y[a] = ary[(a + (l / 2 + 1))];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1327059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327059</guid><dc:creator><![CDATA[Laundry]]></dc:creator><pubDate>Tue, 17 Jul 2007 09:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 09:44:56 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for(int i = 0; i!=(l / 2); i++) 
{ 
    char x[i] = ary[i]; // unsinn
}; 
for(int a = (l / 2 + 1); a!=l; a++) 
{ 
    char y[a] = ary[(a + (l / 2 + 1))]; // unsinn
};
</code></pre>
<p>Edit: Zu spät! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327060</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 17 Jul 2007 09:44:56 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 09:48:13 GMT]]></title><description><![CDATA[<p>Hm ich seh gerade die Eins (1) und L(l) sehe ja total gleich aus.</p>
<p>Ich markiere das L(l) mal dick!</p>
<pre><code>for(int i = 0; i!=([b]l[/b] / 2); i++)
{
    char x[i] = ary[i];
};
for(int a = ([b]l[/b] / 2 + 1); a!=[b]l[/b]; a++)
{
    char y[a] = ary[(a + ([b]l[/b] / 2 + 1))];
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1327067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327067</guid><dc:creator><![CDATA[Laundry]]></dc:creator><pubDate>Tue, 17 Jul 2007 09:48:13 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:01:15 GMT]]></title><description><![CDATA[<p>Erstens: Du hast immer noch nicht gesagt, was der Compiler zu meckern hat (beim näheren hinsehen tippe ich darauf, daß die beiden 'char' im inneren des for() stören - dort legst du neue lokale Variablen an, die mit deinen vorher definierten x und y nichts zu tun haben).</p>
<p>Zweitens: Im Array 'y' sind am Ende die ersten l/2 Zeichen leer und die nächsten l/2 Zeichen enthalten Datenmüll.</p>
<p>PS: Verwende doch statt char-Arrays lieber std::string <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/1327084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327084</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:04:03 GMT]]></title><description><![CDATA[<p>Ach ich Depp <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> ja stimmt die 2 neu angelegten Variablen waren das Problem, aber jetzt gehts auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327086</guid><dc:creator><![CDATA[Laundry]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:15:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool Degen(char ary[1024])
{
    int l = strlen(key);
    char x[1024] = &quot;&quot;;
    char y[1024] = &quot;&quot;;

    for(int i = 0; i!=(l / 2); i++)
    {
        char x[i] = ary[i];
    };
    for(int a = (l / 2 + 1); a!=l; a++)
    {
        char y[a] = ary[(a + (l / 2 + 1))];
    };
    cout &lt;&lt; x &lt;&lt; endl;
    cout &lt;&lt; y &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>?!</p>
<pre><code class="language-cpp">void degen(const char* string, char* part_one, char* part_two, std::size_t max_size)
{
    std::size_t len = std::min(std::strlen(string) / 2, max_size - 1);
    std::strncpy(part_one, &amp;string[0], len);
    std::strncpy(part_two, &amp;string[len], len);
    part_one[len] = 0;
    part_two[len] = 0;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327093</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:15:57 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:19:51 GMT]]></title><description><![CDATA[<p>aja ...</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt; // std::max
#include &lt;cstring&gt; // std::strncpy
#include &lt;iostream&gt; // nur std::cout ... für Funktion unwichtig!

void degen(const char*, char*, char*, std::size_t);

int main()
{
    char arr[] = &quot;Das ist ein Test!&quot;;
    char first[25];
    char last[43]; // ist egal wie groß der array ist ... solange entweder eine hälfte des strings reinpasst oder wenigstens max_size bei degen korrekt angegeben ist.
    degen(arr, first, last, 25);
    std::cout &lt;&lt; arr &lt;&lt; &quot; =&gt; &quot; &lt;&lt; first &lt;&lt; &quot; | &quot; &lt;&lt; last &lt;&lt; std::endl;
}

void degen(const char* string, char* part_one, char* part_two, std::size_t max_size)
{
    std::size_t len = std::min(std::strlen(string) / 2, max_size - 1);
    std::strncpy(part_one, &amp;string[0], len);
    std::strncpy(part_two, &amp;string[len], len);
    part_one[len] = 0;
    part_two[len] = 0;
}
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327095</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:19:51 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:33:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>danke ich werds ausprobieren, doch in der Zeile</p>
<pre><code class="language-cpp">std::size_t len = std::min(std::strlen(string) / 2, max_size - 1);
</code></pre>
<p>sagt er, dass ein &quot;(&quot; rechts falsch sein soll und das &quot;::&quot; nicht richtig ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Und was soll die 25 genau bewirken beim übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327108</guid><dc:creator><![CDATA[Laundry]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:52:58 GMT]]></title><description><![CDATA[<blockquote>
<p>sagt er, dass ein &quot;(&quot; rechts falsch sein soll und das &quot;::&quot; nicht richtig ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
</blockquote>
<p>Dann setz mal ein</p>
<pre><code class="language-cpp">#undef min
</code></pre>
<p>vor den Code ... Hast wohl einen Header drin der min als Makro definiert hat. Markos sind scheiße!</p>
<blockquote>
<p>Und was soll die 25 genau bewirken beim übergeben?</p>
</blockquote>
<p>Nja scheinst den Code noch nicht ganz verstanden zu haben ... es geht darum, dass das die maximale Anzahl an Zeichen (inkl. Null-Terminierung) ist, die in <strong>beide</strong> Arrays(first, last) passen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327128</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:52:58 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 10:58:47 GMT]]></title><description><![CDATA[<p>soll ich auch mitmachen?</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

void degen(const std::string&amp; str,std::string&amp; one,std::string&amp; two)
{
  size_t len = str.len()/2;
  one=str.substr(0,len);
  two=str.substr(len);
}

int main()
{
  std::string first,last;
  degen(&quot;Dies ist ein Test!&quot;,first,last);
  std::cout &lt;&lt; arr &lt;&lt; &quot; =&gt; &quot; &lt;&lt; first &lt;&lt; &quot; | &quot; &lt;&lt; last &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1327131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327131</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Jul 2007 10:58:47 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 11:07:39 GMT]]></title><description><![CDATA[<p>Funktioniert ja jetzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327140</guid><dc:creator><![CDATA[Laundry]]></dc:creator><pubDate>Tue, 17 Jul 2007 11:07:39 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 11:11:11 GMT]]></title><description><![CDATA[<p>pö... war nicht gesagt das normale std::strings genutzt werden dürfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327144</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 17 Jul 2007 11:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to Array in der Mitte teilen on Tue, 17 Jul 2007 11:14:04 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>pö... war nicht gesagt das normale std::strings genutzt werden dürfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Es war auch nicht gesagt, daß man die Standard-Bibliothek <strong>nicht</strong> verwenden darf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327148</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Jul 2007 11:14:04 GMT</pubDate></item></channel></rss>