<?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[2D-Array sorgt für Programmcrash - wieso ?]]></title><description><![CDATA[<p>Hallo Forengemeinde,</p>
<p>ich versuche ein Programm zu erstellen, dass selbständig an bestimmten Uhrzeiten für mich Arbeiten erledigt.<br />
Dazu erstelle ich grade den Rahmen dafür, indem ich in einem zweidimensionalem Array ( Array[x][3] ) jeweils die Stunde, Minute und Sekunde speichern möchte.<br />
Läuft mein Programm, so soll es nicht mehr beendet werden. Weil es nach 24h erneut Zeiten bekommt, an dem es Arbeiten erledigen soll. Ein Autonomes System quasie <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="🙂"
    /><br />
Mein Problem momentan ist, dass das Programm bei mehrmaligen Aufrufens ( &gt;5 ) sich einfach beendet. Nun meine Frage an euch:<br />
Woran liegt das ? Sollte ich lieber mit verketteten Listen arbeiten, anstelle des dynamischen 2D-Arrays ?</p>
<pre><code>int Gesamtprogramm(){
   clrscr();

            float MBetr[31],augen,tmp,sum=0.00;

             for(int i=0;i&lt;31;i++)
             {
               augen = rand()%97;
               if(i%3==0)cout&lt;&lt;&quot;\n&quot;;                            
               tmp=(augen/100)+rand()%7+16;
               tmp+=0.01;
               sum+=tmp;
               MBetr[i]=tmp;
             }

      time_t sekunden = time(NULL);
      tm *uhr = localtime(&amp;sekunden);
   int TagHeute = uhr-&gt;tm_mday, KHeute = MBetr[TagHeute]/0.10;
//cout&lt;&lt;&quot;TagHeute: &quot;&lt;&lt;TagHeute&lt;&lt;&quot;\nMBetr-Heute: &quot;&lt;&lt;MBetr[TagHeute]&lt;&lt;&quot;\nKHeute: &quot;&lt;&lt;KHeute;

   int (*DaylyClickList)[3] = new int [KHeute][3];

     for(int i=0;i&lt;KHeute;i++)
     {
       DaylyClickList[i][1] = rand()%14+8; //Stunde
       DaylyClickList[i][2] = rand()%60; //Minute
       DaylyClickList[i][3] = rand()%60; //Sekunde
       cout&lt;&lt;&quot;\n&quot;&lt;&lt;i+1&lt;&lt;&quot;|  &quot;&lt;&lt;DaylyClickList[i][1]&lt;&lt;&quot;:&quot;&lt;&lt;DaylyClickList[i][2]&lt;&lt;&quot;:&quot;&lt;&lt;DaylyClickList[i][3];
     }

              //Array sortieren von 00:00 bis 23:59 (...)

 getchar();    
 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/290127/2d-array-sorgt-für-programmcrash-wieso</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 17:39:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290127.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Jul 2011 19:43:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Tue, 19 Jul 2011 19:43:05 GMT]]></title><description><![CDATA[<p>Hallo Forengemeinde,</p>
<p>ich versuche ein Programm zu erstellen, dass selbständig an bestimmten Uhrzeiten für mich Arbeiten erledigt.<br />
Dazu erstelle ich grade den Rahmen dafür, indem ich in einem zweidimensionalem Array ( Array[x][3] ) jeweils die Stunde, Minute und Sekunde speichern möchte.<br />
Läuft mein Programm, so soll es nicht mehr beendet werden. Weil es nach 24h erneut Zeiten bekommt, an dem es Arbeiten erledigen soll. Ein Autonomes System quasie <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="🙂"
    /><br />
Mein Problem momentan ist, dass das Programm bei mehrmaligen Aufrufens ( &gt;5 ) sich einfach beendet. Nun meine Frage an euch:<br />
Woran liegt das ? Sollte ich lieber mit verketteten Listen arbeiten, anstelle des dynamischen 2D-Arrays ?</p>
<pre><code>int Gesamtprogramm(){
   clrscr();

            float MBetr[31],augen,tmp,sum=0.00;

             for(int i=0;i&lt;31;i++)
             {
               augen = rand()%97;
               if(i%3==0)cout&lt;&lt;&quot;\n&quot;;                            
               tmp=(augen/100)+rand()%7+16;
               tmp+=0.01;
               sum+=tmp;
               MBetr[i]=tmp;
             }

      time_t sekunden = time(NULL);
      tm *uhr = localtime(&amp;sekunden);
   int TagHeute = uhr-&gt;tm_mday, KHeute = MBetr[TagHeute]/0.10;
//cout&lt;&lt;&quot;TagHeute: &quot;&lt;&lt;TagHeute&lt;&lt;&quot;\nMBetr-Heute: &quot;&lt;&lt;MBetr[TagHeute]&lt;&lt;&quot;\nKHeute: &quot;&lt;&lt;KHeute;

   int (*DaylyClickList)[3] = new int [KHeute][3];

     for(int i=0;i&lt;KHeute;i++)
     {
       DaylyClickList[i][1] = rand()%14+8; //Stunde
       DaylyClickList[i][2] = rand()%60; //Minute
       DaylyClickList[i][3] = rand()%60; //Sekunde
       cout&lt;&lt;&quot;\n&quot;&lt;&lt;i+1&lt;&lt;&quot;|  &quot;&lt;&lt;DaylyClickList[i][1]&lt;&lt;&quot;:&quot;&lt;&lt;DaylyClickList[i][2]&lt;&lt;&quot;:&quot;&lt;&lt;DaylyClickList[i][3];
     }

              //Array sortieren von 00:00 bis 23:59 (...)

 getchar();    
 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095088</guid><dc:creator><![CDATA[Debian4Ever]]></dc:creator><pubDate>Tue, 19 Jul 2011 19:43:05 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Tue, 19 Jul 2011 19:57:48 GMT]]></title><description><![CDATA[<p>Anhang: hier noch meine Menüsteuerung, mit der ich arbeite:</p>
<pre><code>int main()
{

 while(1)
 {clrscr(); 
  cout&lt;&lt;&quot;\n1   Gesamtprogramm\n2   Beenden&quot;;

   switch(getch())
   {
    case '1': Gesamtprogramm(); break;   
    case '2': return 0; break;
    default: cout&lt;&lt;&quot;Fehlerhafte Eingabe!&quot;;break; 
   }                    
 }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095099</guid><dc:creator><![CDATA[Debian4Ever]]></dc:creator><pubDate>Tue, 19 Jul 2011 19:57:48 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Tue, 19 Jul 2011 20:11:19 GMT]]></title><description><![CDATA[<p>Was für ein C++ benutzt du denn?</p>
<p>Ich habe nämlich so meine Zweifel, ob das hier überhaupt compiliert wird:</p>
<pre><code class="language-cpp">int (*DaylyClickList)[3] = new int [KHeute][3];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095106</guid><dc:creator><![CDATA[mmazal]]></dc:creator><pubDate>Tue, 19 Jul 2011 20:11:19 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Tue, 19 Jul 2011 21:00:23 GMT]]></title><description><![CDATA[<p>Debian4Ever schrieb:</p>
<blockquote>
<pre><code>...
       DaylyClickList[i][1] = rand()%14+8; //Stunde
       DaylyClickList[i][2] = rand()%60; //Minute
       DaylyClickList[i][3] = rand()%60; //Sekunde
...
</code></pre>
</blockquote>
<p>Hab Deinen Code nur kurz überflogen, ein Fehler, du musst es so schreiben:</p>
<pre><code>...
       DaylyClickList[i][0] = rand()%14+8; //Stunde
       DaylyClickList[i][1] = rand()%60; //Minute
       DaylyClickList[i][2] = rand()%60; //Sekunde
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095120</guid><dc:creator><![CDATA[Olga]]></dc:creator><pubDate>Tue, 19 Jul 2011 21:00:23 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Wed, 20 Jul 2011 07:14:31 GMT]]></title><description><![CDATA[<p>Ich nutze eine Umgebung, die mit dem freien Borland C++ Compiler 5.5 arbeitet.<br />
Danke dir für den Hinweis - immer diese Schusselfehler ... <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="🙂"
    /><br />
Daran hat es übrigens gelegen, dass das Programm abgestürzt ist.</p>
<p>Aber um nochmal auf deine Frage nach der Version zu sprechen zu kommen. wie würdest du</p>
<pre><code>int (*DaylyClickList)[3] = new int [KHeute][3];
</code></pre>
<p>anders formulieren ? Ein Zweidimensionales dynamisch erzeugtes Array konnte ich bislang nur so fehlerfrei erstellen.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095181</guid><dc:creator><![CDATA[Debian4Ever]]></dc:creator><pubDate>Wed, 20 Jul 2011 07:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Wed, 20 Jul 2011 09:20:03 GMT]]></title><description><![CDATA[<p>Ich bin ehrlich gesagt ein wenig verwirrt. Aber für mich sieht das</p>
<pre><code class="language-cpp">int (*DaylyClickList)[3]
</code></pre>
<p>aus wie ein Array von Funktionszeigern (auf Funktionen vom typ int f()) der Länge drei. Und die Semantik von new T[][] ist mir gänzlich unbekannt, in C++ kenne ich nur new T[size]. Deswegen hab ich angenommen, dass das nicht kompiliert, was es aber tut.</p>
<p>Vielleicht kann uns einer erhellen?</p>
<p>Ich hätte in C++ einen zweidimensionalen Array als ein std::vector von std::vector definiert</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;int&gt; &gt; array(dim1, std::vector&lt;int&gt;(dim2));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095239</guid><dc:creator><![CDATA[mmazal]]></dc:creator><pubDate>Wed, 20 Jul 2011 09:20:03 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Wed, 20 Jul 2011 09:34:55 GMT]]></title><description><![CDATA[<p>mmazal schrieb:</p>
<blockquote>
<p>Ich hätte in C++ einen zweidimensionalen Array als ein std::vector von std::vector definiert</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;int&gt; &gt; array(dim1, std::vector&lt;int&gt;(dim2));
</code></pre>
</blockquote>
<p>Unfug..</p>
<pre><code class="language-cpp">std::array&lt;std::array&lt;T, N1&gt;, N2&gt; array;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095246</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 20 Jul 2011 09:34:55 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Wed, 20 Jul 2011 09:39:22 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>mmazal schrieb:</p>
<blockquote>
<p>Ich hätte in C++ einen zweidimensionalen Array als ein std::vector von std::vector definiert</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;int&gt; &gt; array(dim1, std::vector&lt;int&gt;(dim2));
</code></pre>
</blockquote>
<p>Unfug..</p>
<pre><code class="language-cpp">std::array&lt;std::array&lt;T, N1&gt;, N2&gt; array;
</code></pre>
</blockquote>
<p>D'accord. Funktioniert aber nur wenn die Dimensionen schon zur Compilezeit bekannt sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095249</guid><dc:creator><![CDATA[mmazal]]></dc:creator><pubDate>Wed, 20 Jul 2011 09:39:22 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Wed, 20 Jul 2011 09:41:23 GMT]]></title><description><![CDATA[<p>mmazal schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>mmazal schrieb:</p>
<blockquote>
<p>Ich hätte in C++ einen zweidimensionalen Array als ein std::vector von std::vector definiert</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;int&gt; &gt; array(dim1, std::vector&lt;int&gt;(dim2));
</code></pre>
</blockquote>
<p>Unfug..</p>
<pre><code class="language-cpp">std::array&lt;std::array&lt;T, N1&gt;, N2&gt; array;
</code></pre>
</blockquote>
<p>D'accord. Funktioniert aber nur wenn die Dimensionen schon zur Compilezeit bekannt sind.</p>
</blockquote>
<p>Die innere ist bekannt.</p>
<pre><code class="language-cpp">std::vector&lt;std::array&lt;T, 3&gt;&gt; vec;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095250</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 20 Jul 2011 09:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to 2D-Array sorgt für Programmcrash - wieso ? on Wed, 20 Jul 2011 09:58:38 GMT]]></title><description><![CDATA[<p>Warum nicht Nägel mit Köpfen machen und vernünftige Datenstrukturen verwenden? Über die Klasse Timestamp kann man sich natürlich noch Gedanken machen, ob da ein time_t nicht auch funktioniert, z.B. für einmalige Aufgaben.</p>
<pre><code class="language-cpp">class Timestamp
{
   unsigned char Hour;
   unsigned char Minute;
   unsigned char Second;

   ...
};

class Task
{
   Timestamp Timestamp;
   ...
};   

std::vector&lt;Task&gt;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095257</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 20 Jul 2011 09:58:38 GMT</pubDate></item></channel></rss>