auf leeren array prüfen
-
Hallo,
wie kann ich prüfen ob ein array leer ist?
In delphi sieht das ja so aus:
a[n]=#0;geht leider net.
Was kann ich dann benutzen?
-
was genau meinst du mit leer?
ich kann leider kein delphi, aber das sieht fast so aus, als wolltest du für jedes einzelne element des arrays prüfen, ob es 0 ist. ist vielleicht sinnvoll, wenn du ein array von zeigern hast, vielleicht weniger sinnvoll, wenn du mit einem array von ints arbeitest, um die temperaturen der letzten paar wochen zu speichern.wenn du allerdings prüfen willst, ob ein array kein element beinhaltet, bräuchtest du was dynamisches, denn ein statisches array von sich aus enthält immer eine gewisse anzahl von elementen (die man auch nicht mehr ändern kann)
-
genau, ich möchte prüfen, ob das array einen inhalt hat.
-
Kommt drauf an, welches Array du nimmst. Wenn du es mit new erstellst, mußt du dich selbst darum kümmern, d.h., immer irgendwo festhalten, wie groß es gerade ist. Verwendest du std::vector, so kannst du mit der Methode size() die aktuelle Größe abfragen (und mit resize() verändern).
-
Ich wollte das jetzt folgender maßen lösen.
while (t != 0) { x = rand(); if (x<=9) { a[6] = x; ++t; } }Das Problem ist nur, dass x anscheinent ein maximaler integer-wert wird.
Wieso?
-
Ich sehe keinen Zusammenhang zwischen deinen Beiträgen.
Was willst du denn nun machen?
Überprüfen ob alle Elemente eines Feldes einen bestimmten Wert haben?
-
Naja vorher wollte ich
while (t != 0) { x = rand(); if (x<=9) { a[6] = x; ++t; } }mit Hilfe des arrays machen.
Also schauen, ob das array schob bechrieben ist oder net.
Das mit dem size etc. ist mir zu kompliziert und nun wollte ich es mit einer zweiten variable machen.
Mit t denn, wenn ich das array beschreibe, zählt er t eins hoch und die schleife bricht ab.
-
In deinem Quellcodebeispiel greifst du nur auf ein einziges Feldelement (a[6]) zu.
Ich verstehe deine Problem immernoch nicht.
-
-
Das wollte ich ja die ganze zeit tun.
sorry, wenn ich mich oben nicht klar ausgedrückt habe.