Arraylänge während der Laufzeit setzen

Moin,

gibt es eine möglichkeit die länge eines Arrays während der Laufzeit einmalig zu setzen?
Bei meinem Ansatz beschwehrt sich der Compiler das er eine Konstante braucht…

int nZiel;
cout > nZiel;
int nFeld[nZiel];
int* nStart = &nFeld[0];

oder muss ich das Array nFeld[] so groß schreiben, das es Ausreichend groß ist für alle Eingaben, aber das Frisst ja dann viel unnötige Speicherkapazität.

Hallo,

gibt es eine Möglichkeit die Länge eines Arrays während der
Laufzeit einmalig zu setzen?
Bei meinem Ansatz beschwert sich der Compiler das er eine
Konstante braucht…

Das ist die statische Zuweisung der Feldgröße,
diese Größe muß zur Kompilierzeit bekannt sein.

int nZiel;
cout > nZiel;
int nFeld[nZiel];
int* nStart = &nFeld[0];

oder muss ich das Array nFeld[] so groß schreiben, das es
Ausreichend groß ist für alle Eingaben, aber das Frisst ja
dann viel unnötige Speicherkapazität.

Mußt Du nicht. In C++ müßtest Du sowas machen (ungetestet):

#include 
#include 
using namespace std;

using namespace std;

 void main()
{
 int nZiel;
 cout \> nZiel;

 vector nFeld(nZiel); 
 vector::iterator nStart;

 int i = 0;
 for(nStart=nFeld.begin(); nStart

Grüße

CMБ