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Б