<?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[wird Compiliert, aber Programm stürzt ab]]></title><description><![CDATA[<p>Hallo,<br />
Mein Programm:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
    int i;
    int x;
    int n;
    int befehl[i];
    int zahl[x];
    int welZahl[n];

    for (i=0, x=0, n=1; i&lt;2, x&lt;2, n&lt;2; i++, x++, n++)
    {
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot; Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Variable eingeben        &lt;1&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Vektoren suibtrahieren   &lt;2&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Vektoren addieren        &lt;3&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Programm beenden         &lt;0&gt;&quot; &lt;&lt; endl;  
        cout &lt;&lt; endl;

        cout &lt;&lt; &quot; Ihre Eingabe : &quot;;
        cin &gt;&gt; befehl[2]; 

        switch(befehl[2])
        {
             case 0: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Programm beenden&quot; &lt;&lt; endl;
                  break;
             case 1: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Variable eingeben: &quot;;
                  cin &gt;&gt; zahl[x];
                  cout &lt;&lt; &quot;Zahl&quot; &lt;&lt; welZahl[n] &lt;&lt; &quot;= &quot; &lt;&lt; zahl[x] &lt;&lt; endl;
                  break;
             case 2: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Variablen subtrahieren&quot; &lt;&lt; endl;
                  break;
             case 3: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Variablen addieren&quot; &lt;&lt; endl;
                  break;
             default: cout &lt;&lt; endl;
                   cout &lt;&lt; &quot;Ungueltige Eingabe&quot; &lt;&lt; endl;
                   break;
              }
    }            
    cin.ignore(); 
    cin.get();
}
</code></pre>
<p>... wird zwar erfolgreich kompiliert, aber beim ausführen stürzt es ab.<br />
Ohne dem Zeug mit &quot;n&quot; funktionierte es. Also ohne</p>
<pre><code>int n;
int welZahl[n];
</code></pre>
<p>etc.<br />
wo ist hier der Hacken?<br />
danke schon mal im Vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242039/wird-compiliert-aber-programm-stürzt-ab</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 05:33:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242039.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 May 2009 08:36:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:36:38 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Mein Programm:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
    int i;
    int x;
    int n;
    int befehl[i];
    int zahl[x];
    int welZahl[n];

    for (i=0, x=0, n=1; i&lt;2, x&lt;2, n&lt;2; i++, x++, n++)
    {
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot; Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Variable eingeben        &lt;1&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Vektoren suibtrahieren   &lt;2&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Vektoren addieren        &lt;3&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Programm beenden         &lt;0&gt;&quot; &lt;&lt; endl;  
        cout &lt;&lt; endl;

        cout &lt;&lt; &quot; Ihre Eingabe : &quot;;
        cin &gt;&gt; befehl[2]; 

        switch(befehl[2])
        {
             case 0: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Programm beenden&quot; &lt;&lt; endl;
                  break;
             case 1: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Variable eingeben: &quot;;
                  cin &gt;&gt; zahl[x];
                  cout &lt;&lt; &quot;Zahl&quot; &lt;&lt; welZahl[n] &lt;&lt; &quot;= &quot; &lt;&lt; zahl[x] &lt;&lt; endl;
                  break;
             case 2: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Variablen subtrahieren&quot; &lt;&lt; endl;
                  break;
             case 3: cout &lt;&lt; endl;
                  cout &lt;&lt; &quot;Variablen addieren&quot; &lt;&lt; endl;
                  break;
             default: cout &lt;&lt; endl;
                   cout &lt;&lt; &quot;Ungueltige Eingabe&quot; &lt;&lt; endl;
                   break;
              }
    }            
    cin.ignore(); 
    cin.get();
}
</code></pre>
<p>... wird zwar erfolgreich kompiliert, aber beim ausführen stürzt es ab.<br />
Ohne dem Zeug mit &quot;n&quot; funktionierte es. Also ohne</p>
<pre><code>int n;
int welZahl[n];
</code></pre>
<p>etc.<br />
wo ist hier der Hacken?<br />
danke schon mal im Vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717722</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 08:36:38 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:44:07 GMT]]></title><description><![CDATA[<p>Sollte doch eigentlich nicht mal kompilieren, da n nicht konstant ist. Oder irre ich mich?</p>
<pre><code class="language-cpp">int n; 
int welZahl[n];
</code></pre>
<p>Simon</p>
<p>BTW: Mit dem Debugger findest Du den Fehler bestimmt schnell.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717729</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 29 May 2009 08:44:07 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:44:50 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int i;
    int x;
    int n;
    int befehl[i];
    int zahl[x];
    int welZahl[n];
</code></pre>
<p>Immer beim Definieren initialisieren!</p>
<pre><code class="language-cpp">int i = 1;
    int x = 2;
    int n = 3;
    int befehl[i];
    int zahl[x];
    int welZahl[n];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1717732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717732</guid><dc:creator><![CDATA[Roger Wilco]]></dc:creator><pubDate>Fri, 29 May 2009 08:44:50 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:46:09 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p>Sollte doch eigentlich nicht mal kompilieren, da n nicht konstant ist. Oder irre ich mich?</p>
</blockquote>
<p>Stimmt eigentlich. Nur mit new int[i] geht es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717733</guid><dc:creator><![CDATA[Roger Wilco]]></dc:creator><pubDate>Fri, 29 May 2009 08:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:49:02 GMT]]></title><description><![CDATA[<p>wenn ich beim definieren direkt initaliesiere geht es.<br />
Komisch das es aber erst mit i und x auch ging.<br />
Danke für die Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717734</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 08:49:02 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:50:53 GMT]]></title><description><![CDATA[<p>Dein Compiler hätte dies gar nicht kompilieren dürfen!<br />
Wenn du Arrays so benutzen wilst, dann müssen in den eckigen Klammern auch Konstanten stehen!<br />
Bei dir hat demzufolge z.B. die Variable i einen zufälligen Wert, somit &quot;weis&quot; das Programm nie wie groß dein Array sein soll...<br />
Wenn du dynamische Arrays benutzen willst, dann geht das z.B. mit Zeigern und der &quot;Funktion&quot; new:</p>
<pre><code class="language-cpp">int i;
i=3;         //oder ein anderer beliebiger Wert
int *befehl; //ein int-Zeiger auf einen Speicherbereich im Heap
befehl=new int[i]; //reservieren des Speicherbereichs

//nun kannst du befehl[0] usw. benutzen

//am Ende des Programms dann:
delete[] befehl; //Speicherbereich wieder freigeben
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1717735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717735</guid><dc:creator><![CDATA[Parser]]></dc:creator><pubDate>Fri, 29 May 2009 08:50:53 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 08:54:22 GMT]]></title><description><![CDATA[<p>die Wege des RMS sind untergründig (oder so):</p>
<pre><code>$ g++-4.exe wtf.cpp 

$ g++-4.exe -ansi -pedantic wtf.cpp 
wtf.cpp: In function 'int main()':
wtf.cpp:9: error: ISO C++ forbids variable length array 'befehl'
wtf.cpp:10: error: ISO C++ forbids variable length array 'zahl'
wtf.cpp:11: error: ISO C++ forbids variable length array 'welZahl'
</code></pre>
<p>P.S.: dass es mit i und x ging war wohl eher Zufall</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717738</guid><dc:creator><![CDATA[hmmmmmmm]]></dc:creator><pubDate>Fri, 29 May 2009 08:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 09:10:00 GMT]]></title><description><![CDATA[<p>danke, für die weiteren Informationen. Ich probiere gerade ein bisschen mal ein paar Sachen aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717748</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 09:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 09:29:46 GMT]]></title><description><![CDATA[<p>Jetzt funktioniert das Programm erstmal soweit...<br />
ABER:</p>
<pre><code>In case 1: cout &lt;&lt; endl;
                     cout &lt;&lt; &quot;Variable eingeben: &quot;;
                     cin &gt;&gt; zahl[x];
                     ++n;
                     cout &lt;&lt; &quot;Zahl&quot; &lt;&lt; welZahl[n] &lt;&lt; &quot;= &quot; &lt;&lt; zahl[x] &lt;&lt; endl;
</code></pre>
<p>habe ich ein Problem mit</p>
<pre><code>welZahl[n]
</code></pre>
<p>statt es von 0(siehe Gesamten Code) auf 1 springt, spuckt es mir immer wieder eine beliebige Zahl aus. Wo ist mein Fehler?</p>
<p>Gesamter Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
    int i = 0;
    int x = 0;
    int n = 0;
    int *befehl;
    befehl=new int[i];
    int *zahl;
    zahl=new int[x];
    int *welZahl;
    welZahl=new int[n];

    for (i, x; i&lt;2, x&lt;2; i++, x++)
    {
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot; Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Variable eingeben        &lt;1&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Variable suibtrahieren   &lt;2&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Variable addieren        &lt;3&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;  Programm beenden         &lt;0&gt;&quot; &lt;&lt; endl;  
        cout &lt;&lt; endl;

        cout &lt;&lt; &quot; Ihre Eingabe : &quot;;
        cin &gt;&gt; befehl[2]; 

        switch(befehl[2])
        {
             case 0: cout &lt;&lt; endl;
                     cout &lt;&lt; &quot;Programm beenden&quot; &lt;&lt; endl;
                     break;
             case 1: cout &lt;&lt; endl;
                     cout &lt;&lt; &quot;Variable eingeben: &quot;;
                     cin &gt;&gt; zahl[x];
                     ++n;
                     cout &lt;&lt; &quot;Zahl&quot; &lt;&lt; welZahl[n] &lt;&lt; &quot;= &quot; &lt;&lt; zahl[x] &lt;&lt; endl;
                     break;
             case 2: cout &lt;&lt; endl;
                     cout &lt;&lt; &quot;Variablen subtrahieren&quot; &lt;&lt; endl;
                     break;
             case 3: cout &lt;&lt; endl;
                     cout &lt;&lt; &quot;Variablen addieren&quot; &lt;&lt; endl;
                     break;
             default: cout &lt;&lt; endl;
                      cout &lt;&lt; &quot;Ungueltige Eingabe&quot; &lt;&lt; endl;
                      break;
              }
    }            
    cin.ignore(); 
    cin.get();
}
</code></pre>
<p>Sorry das ich so viel Frage was vielleicht ganz logisch ist, aber ich programmiere erst seit gestern mit C++<br />
Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717760</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 09:29:46 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 09:39:13 GMT]]></title><description><![CDATA[<p>Dann nimm dir doch bitte zu erst mal nen Buch oder nen Tuturial...</p>
<pre><code class="language-cpp">int i = 0; 
    int x = 0; 
    int n = 0; 
    int *befehl; 
    befehl=new int[i]; 
    int *zahl; 
    zahl=new int[x]; 
    int *welZahl; 
    welZahl=new int[n];
</code></pre>
<p>Dann kannst du das new auch weglassen, wenn du dann für 0 Elemente Speicher reservierst...<br />
Du solltest zu allererst verstehen, was du machen möchtest/sollst/... - und erst danach solltest du die Vorschläge einfach so übernehmen...</p>
<pre><code class="language-cpp">for (i, x; i&lt;2, x&lt;2; i++, x++)
</code></pre>
<p>fällt dir was auf?</p>
<pre><code class="language-cpp">switch(befehl[2])
</code></pre>
<p>was ist mit befehl[0] und befehl[1]? Brauchst du hier womöglich gar kein Array!?</p>
<p>und irgendwie verstehe ich auch nicht, was du bei variable eingeben machen möchtest... so gehts auf jeden fall nicht und ich kann nur raten, was davon du nun machen möchtest <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=";D"
      alt="😉"
    /></p>
<p>bb</p>
<p>edit:<br />
Nimm das nächste mal bitte die cpp-tags und nicht die code-tags ^^ (links daneben, da steht C/C++ auf dem Button ^^)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717769</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 29 May 2009 09:39:13 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 09:52:09 GMT]]></title><description><![CDATA[<p>In einem Buch habe ich gestern schon einiges gelsen und auch schon im Internet einiges nachgelesen. du hast erstmal recht das ich</p>
<pre><code class="language-cpp">befehl[2]
</code></pre>
<p>nicht brauch. das brauchte ich noch, als mein Programm anders war <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="😃"
    /> . Man muss noch nciht verstehen, as ich mit dem Programm machen möchte, da ich erstmal mit kleinen Schritten in diesem Programm anfange. Es soll mir einfach nach Auswahl case 1 &quot;Variable eingeben&quot; bringen und ich geb diese Variable ein. dann soll es mir beim erstem mal &quot;Zahl1= 5&quot; ausgeben beim 2. mal &quot;Zahl2= 6&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717782</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 09:52:09 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 09:55:59 GMT]]></title><description><![CDATA[<p>Du willst also jede neu eingegebene Zahl hinten ins Array einfügen?</p>
<p>Dann ist das C-Array eine denkbar schlechte Lösung...<br />
Es sei denn, du weist davor schon, wie lang das ganze (maximal) werden sollte - auch dann würde ich zwar <code>std::vector</code> aus dem Header <code>vector</code> (siehe <a href="http://www.cplusplus.com/reference/stl/vector/" rel="nofollow">http://www.cplusplus.com/reference/stl/vector/</a>) vorziehen, aber dann würde es mit nem C-Array auch noch halbwegs einfach gehen...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717786</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 29 May 2009 09:55:59 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 09:59:20 GMT]]></title><description><![CDATA[<p>ich werde mir mal vector ansehen. Danke dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717789</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 09:59:20 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 10:04:07 GMT]]></title><description><![CDATA[<p>np ^^</p>
<p>was ich auch gerade noch gesehen habe:<br />
zu jeden new gehört ein delete und zu jedem new[] ein delete[] ! Das ist kein Vorschlag oder nur guter Stil. Es ist ein muss, da sonst ein Memory-Leak entsteht. Und du hast es schon wieder 3mal vergessen (weiß zwar nicht genau, was bei new int[0] passiert, aber vermutlich wird trotzdem Speicher reserviert, den du mit dem delete[] am Ende des Programms wieder hättest freigeben müssen...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717791</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 29 May 2009 10:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to wird Compiliert, aber Programm stürzt ab on Fri, 29 May 2009 10:25:54 GMT]]></title><description><![CDATA[<p>ok. gut das mit delete habe ihc nicht gewußt. danke <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/1717807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717807</guid><dc:creator><![CDATA[Nebelwald]]></dc:creator><pubDate>Fri, 29 May 2009 10:25:54 GMT</pubDate></item></channel></rss>