@euphor sagte in Bestimmte vorgebenene Zahlen eines Arrays auslesen:
8 Zahlen sind vorgebenen. Es sollen alle Zahlen im Bereich zwischen 2 und 7 ausgebenen werden.
8 Integer in einem Array:
int data[] = { 2, 0, 1, 9, 0, 2, 1, 3 };
Gültige Indizes liegen in [0, N) wo N die Anzahl der Elemente des Arrays ist. Die Anzahl der Elemente eines Arrays bekommt man mit std::size() aus <iterator>:
for (std::size_t i = 0; i < std::size(data); ++i) {
// ...
}
Auf die Anzahl der Elemente kommt man auch indem man die Größe des Arrays in Bytes (chars) durch die größe des Elementtyps teilt:
sizeof data / sizeof *data
Dank Templatemagic ist das in C++ jedoch nicht nötig. Wichtig ist auf jeden Fall, daß Du nicht zu weit zählst und Magic Numbers vermeidest.
Wird der Index jedoch im Substatement (Schleifenkörper) nicht verwendet, so nimmt man besser eine Range-based for Loop wie von @wob schon vorgeschlagen:
for (auto value : data) {
// ...
}
Hier enthält value für die Schleifendurchläufe die Werte von data[0], data[1], data[2], ..., data[N - 1].
Kommen wir nun zur Bedingung für die Werte die ausgegeben werden sollen:
Es sollen alle Zahlen im Bereich zwischen 2 und 7 ausgebenen werden.
Das ist einfach, denn die Zahlen im Bereich zwischen 2 und 7 sind 3, 4, 5 und 6. ... ähm. nein, so ist es wahrscheinlich nicht gemeint, aber Du solltest in Zukunft darauf achten Dich exakt auszudrücken. Ich gehe davon aus, daß ein Element des Arrays wenn es zwischen 2 und 7 liegt ausgegeben werden soll:
if (2 < data[i] && data[i] < 7) // ...
oder, falls man sich für die Range-based for loop entschieden hat:
if (2 < value && value < 7) // ...