Array und schleifen
-
int[n] ist kein gültiges C++, wenn n keine Compile-Time Konstante ist. Ansonsten setzt du a[n], was nicht gültig ist, du willst a[i] setzen.
-
oh man leute
ich hab vor lauter code nicht mehr erkannt was da abgeht, danke sehr, also das ist jetzt echt peinlich ^^
-
> int n;
> cin>>n;
> int a[n];ist laut C++ Standard nicht erlaubt. Die Größe eines rohen Arrays hat eine Compile-Zeit-Konstante zu sein. G++ unterstützt dies aber als Erweiterung.
> a[n]=zufallszahl();
Was glaubst du, was du hier tust? Wieso ist der Index n? Das Element a[n] gibt es doch gar nicht.
Wenn du das "richtig" machen willst, nimm std::vector.
-
danke für eure tipps. ich programmiere erst seit gestern mit c++ und bin noch nicht so weit drinne, aber auf jeden fall gute hilfe !
-
kannste mir mit std::vector ein beispiel geben ?
-
vendetta schrieb:
kannste mir mit std::vector ein beispiel geben ?
Du findest hier genug Beispiele, einfach mal auf eine Methode klicken und runterscrollen. Abgesehen davon sind wir nicht dazu da um dir C++ beizubringen.
-
vendetta schrieb:
kannste mir mit std::vector ein beispiel geben ?
Statt int[n] v; schreibst du std::vector<int> v(n);

-
wobei man ja auch mit nem "kleinen" vector anfangen kann
vector<int> foo;
und dann per push_back da Daten reinschieben kann.
foo.push_back(23);
-
"kleinen"
Meinst du leer?

-
sauber, danke euch.
@ sone, sry das es dich so stört 3 c++ wörter zu schreiben, wäre einfacher gewesen .
-
Sone schrieb:
"kleinen"
Meinst du leer?

Was hat denn das eine mit dem anderen zu tun? Damit meinte krümelkacker den reservierten Speicher und nicht die tatsächliche Größe des Containers.