Hi Leute,
Ich hab folgendes Problem ich hab ein kleines Programm geschrieben mit dem Zahlen in eine Reihnfolge bringen kann das Problem ist nur wenn in der forschleife "j" größer als das Array wird, wird das Array überschrieben. Habt Ihr ne idee wie ich das weg bekomme?
#include <iostream.h>.
using namespace std;
int zahlen[] = {9,1,8,2,7,3,6,4,5,0,10,111,60};
int L1 = 0;
int R1 = 1;
int L2 = 0;
int R2 = 0;
int laeng = {sizeof(zahlen)/sizeof(zahlen[0])};
int main() {
for (int i = 0; i < laeng; i++){
cout << zahlen[i] << ",";
};
cout << "\n";
cout << "\n";
for (int j = 0 ; j < (laeng*laeng); j++) {
if (L2 > R2) {zahlen[L1] = R2,zahlen[R1] = L2;};
if (L1 < laeng) {
L1++;
}
else {
L1 = 0;
};
if (R1 < laeng) {
R1++;
}
else {
R1 = 0;
};
L2 = zahlen[L1];
R2 = zahlen[R1];
};
for (int k = 0; k < laeng; k++){
cout << zahlen[k] << ",";
};
cout << "\n";
cout << "\n";
cout << "groesse von array: "<< sizeof(zahlen)/sizeof(zahlen[0]) << "\n";
getchar();
return 0;
}
Ausgabe:
9,1,8,2,7,3,6,4,5,0,10,111,60,
0,1,2,3,4,5,6,7,8,9,10,13,13,
groesse von array: 13
Schon mal danke für Eure Hilfe im vorraus!