int hoehe = 8;
int grenze = hoehe /2 +1;
int laenge = hoehe * 2 - 1;
for (int i = 0; i < grenze; i++) {
for (int j = 0 ; j < laenge; j++) {
if ( (j > (laenge/2) - i) && (j < (laenge/2) + i) ) {
cout << "*";
} else {
cout << " ";
}
}
cout << "\r\n";
}
for (int i = hoehe - grenze+1; i > 0 ; i--) {
for (int j = laenge; j > 0 ; j--) {
if ( (j > (hoehe-1 / 2) - i) && (j < (hoehe-1 / 2) + i) ) {
cout << "*";
} else {
cout << " ";
}
}
cout << "\r\n";
}
Die couts durch dein "System.out.print()" ersetzen
bzw die cout << "\r\n"; durch "System.out.println()"
hatte grad keinen
Java Compiler hier und wollt sicher gehn, dass es läuft.
Der trick? wir lassen das ganze ding einfach umgekehrt laufen und vermeiden durch berücksichtigung der Grenze die doppelte Darstellung der mittleren reihe.
Ja sch...e ausgedrückt, aber ich bin nich ganz bei der Sache.
Gruß Dave