<?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[c++ und dyn. Arrays]]></title><description><![CDATA[<p>Hallo</p>
<p>ich schreibe gerade ein programm in c++ zum testen. Da ich mich in c++ einarbeiten möchte, mal weg von den anderen sprachen.</p>
<p>da lese ich eine datei aus. in der date stehen werte die in ein array sollen. am anfang der datei, also der erste wert sagt aus wieviele werte es in der datei gibt.</p>
<p>mein problem ist nun das ich wenn ich den ersten wert (anzahl andere werte) auslese und mit hilfe des wertes ein array (z.B. int ary[ausgelsener_wert]) erstellen möchte, funktioniert das nicht, da der compiler einen konstanten wert haben möchte. (E2313 Konstantenausdruck erforderlich)</p>
<p>wie mache ich das dann? gibt es in c++ wie in allen anderen sprachen auch eine möglichkeit einfach an ein array ein wert anzuhängen (a la &quot;Push&quot;)?</p>
<p>hier mal meine funktion die die datei ausliest:</p>
<pre><code class="language-cpp">bool datei(){
   ifstream infile;
   infile.open(&quot;daten.dat&quot;);

   int a=0;

   if (!infile){
       return false;
   }else{
      infile &gt;&gt; a;

      int daten[a][3];

      for(int i=0;i&lt;a;i++){
         infile &gt;&gt; daten[i][0];
         infile &gt;&gt; daten[i][1];
         infile &gt;&gt; daten[i][2];
      }

   }
   return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/147376/c-und-dyn-arrays</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 03:46:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147376.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 May 2006 11:03:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:03:07 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich schreibe gerade ein programm in c++ zum testen. Da ich mich in c++ einarbeiten möchte, mal weg von den anderen sprachen.</p>
<p>da lese ich eine datei aus. in der date stehen werte die in ein array sollen. am anfang der datei, also der erste wert sagt aus wieviele werte es in der datei gibt.</p>
<p>mein problem ist nun das ich wenn ich den ersten wert (anzahl andere werte) auslese und mit hilfe des wertes ein array (z.B. int ary[ausgelsener_wert]) erstellen möchte, funktioniert das nicht, da der compiler einen konstanten wert haben möchte. (E2313 Konstantenausdruck erforderlich)</p>
<p>wie mache ich das dann? gibt es in c++ wie in allen anderen sprachen auch eine möglichkeit einfach an ein array ein wert anzuhängen (a la &quot;Push&quot;)?</p>
<p>hier mal meine funktion die die datei ausliest:</p>
<pre><code class="language-cpp">bool datei(){
   ifstream infile;
   infile.open(&quot;daten.dat&quot;);

   int a=0;

   if (!infile){
       return false;
   }else{
      infile &gt;&gt; a;

      int daten[a][3];

      for(int i=0;i&lt;a;i++){
         infile &gt;&gt; daten[i][0];
         infile &gt;&gt; daten[i][1];
         infile &gt;&gt; daten[i][2];
      }

   }
   return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1058774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058774</guid><dc:creator><![CDATA[m1cha]]></dc:creator><pubDate>Tue, 16 May 2006 11:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:06:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ja das gibt es, und zwar mit dem Typ <em>std::vector</em>.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058777</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 16 May 2006 11:06:19 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:07:31 GMT]]></title><description><![CDATA[<p>Nein, in C++ geht das so nicht (C99 hat VLA's, die so ähnlich funktionieren sollen), aber dafür hast du in C++ Containerklassen, die mitwachsen können.</p>
<p>(wirf mal einen Blick ins Magazin für eine ausführlichere Beschreibung)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058779</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 May 2006 11:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:16:04 GMT]]></title><description><![CDATA[<p>Entweder nimmst du die Containerklassen, die CStoll und akari beschrieben haben. Oder du legst das Feld halt dynamisch zur Laufzeit fest (Ich denke, so wolltest du es ursprünglich machen):</p>
<p>m1cha schrieb:</p>
<blockquote>
<pre><code class="language-cpp">bool datei(){
   ifstream infile;
   infile.open(&quot;daten.dat&quot;);

   int a=0;

   if (!infile){
       return false;
   }else{
      infile &gt;&gt; a;

      // dynamisches Anlegen eines Arrays
      int **daten = new int(a);
      for(int i=0; i&lt;a; i++)
      {
          *daten[i] = new int(3);
      }

      for(int i=0;i&lt;a;i++){
         infile &gt;&gt; daten[i][0];
         infile &gt;&gt; daten[i][1];
         infile &gt;&gt; daten[i][2];
      }

   }
   return true;
}
</code></pre>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1058784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058784</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Tue, 16 May 2006 11:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:16:21 GMT]]></title><description><![CDATA[<p>Danke für die schnelle antwort. auf welches magazin?</p>
<p>könnte ihr mir nicht mal auf die schnelle etwas kleines schreiben, was in meinen fall funktioniert.</p>
<p>ich lerne am besten aus aus dem Quellcode und dem probieren (Autodidakt).</p>
<p>gruss m1cha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058786</guid><dc:creator><![CDATA[m1cha]]></dc:creator><pubDate>Tue, 16 May 2006 11:16:21 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:17:38 GMT]]></title><description><![CDATA[<p>danke DarthZiu</p>
<p>genau das habe ich gesucht.</p>
<p>gruss m1cha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058787</guid><dc:creator><![CDATA[m1cha]]></dc:creator><pubDate>Tue, 16 May 2006 11:17:38 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:26:53 GMT]]></title><description><![CDATA[<p>m1cha schrieb:</p>
<blockquote>
<p>Danke für die schnelle antwort. auf welches magazin?</p>
</blockquote>
<p>Ziemlich weit unten im Forum gibt es das <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-55.html" rel="nofollow">Magazin</a> (ist sicher noch mehr dort, was für dich interessant sein könnte)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7636">@DarthZiu</a>: Wenn schon, dann solltest du es richtig schreiben:</p>
<pre><code class="language-cpp">int** daten = new int*[a]
for(int i=0;i&lt;a;++i)
  daten[i] = new int[3];

...

//ganz am Ende
for(int i=0;i&lt;a;++i)
  delete[] daten[i];
delete[] daten;
</code></pre>
<p>(aber die STL-Container sind imho einfacher zu handhaben)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058794</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 May 2006 11:26:53 GMT</pubDate></item><item><title><![CDATA[Reply to c++ und dyn. Arrays on Tue, 16 May 2006 11:29:46 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<pre><code class="language-cpp">//ganz am Ende
for(int i=0;i&lt;a;++i)
  delete[] daten[i];
delete[] daten;
</code></pre>
</blockquote>
<p>Uiuiui, ich vergess es immer wieder. Danke für den Hinweis <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058796</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Tue, 16 May 2006 11:29:46 GMT</pubDate></item></channel></rss>