Sternchen Pyramide in PHP?

7 Antworten

h = 11

W = 6

a

V

x

y

z

a= Round(h/w)

V = W

for z = 0 to h

for y = 0 to a

for x = 0 to V

echo *

next x

echo --Zeilenumbruch

h=h+1

next y

V=W - 1

next z

Ich kann PHP nicht aber versuch mal die logik dahinter :)

Die Pyramide ist hald falsch rum(von oben nach unten)

evtl muss abc = 1 to sowieso schreiben


newb33  10.06.2015, 14:19

Naja perfekt lösen muss ich es für dich eh nicht also dir dürfte der Anschupfer oben reichen. Mit geht die PHP Seite gerade ziemlich penetrant auf die Nüsse da ich meinen Code dort nicht Testen kann.

Viel Glück

0

Sollte wie folgt aussehen: http://p.fu86.de/1433850582-6232.png


newb33  10.06.2015, 14:14

Ausserdem wie kann ich in dem PHP code tester was ausführen?

0
newb33  10.06.2015, 14:10

Da steht aber weite 6 höhe 11 das ist nicht weite 11 höhe 6

0

Generell ist die Aufgabe etwas schwammig bzw. sogar falsch. Bei einer solchen Sternchenpyramide braucht man entweder eine breite ($width) oder eine höhe ($height) und nicht beides, da das eine sich ja aus dem anderen ergbit. Es gilt:

$width muss ungerade sein (ansonsten hat die Pyramide keine Spitze)

$height = $width / 2 + 1

$width = $height * 2 - 1

D.h. es reicht völlig aus mit einem dieser Werte zu arbeiten. 

Das könnte in etwa so aussehen:

$actualWidth = 1; 

for ($i = 0; $i < $height; $i++) {

 // Aktuelle Zeile darstellen 

for ($a = 0; $a < $actualWidth; $a++) {  

echo "*"; 

 } 

 // die nächste Zeile hat 2 Sternchen mehr 

$actualWidth = $actualWidth + 2;

}


newb33  10.06.2015, 15:16

Die mathematische breite(height) und Höhe(width) <---wurden wie gerade geschrieben mit den Variablen vertauscht.

0
gfitos  10.06.2015, 16:40
@newb33

wie würde eine Pyramide mit Breit 5 und Höhe 5 aussehen? Das macht doch gar keinen Sinn...

0

Hallo!
Ich habe auf diesem System keinen Webserver und auch kein PHP installiert, daher habe ich ein kurzes C++ Programm geschrieben, das dir vielleicht ein paar Impulse geben kann:

http://pastebin.com/YkkRWhRZ

Gruß