Entwickler-Ecke
Sonstiges (Delphi) - Im Memofeld ein Dreieck darstellen
aljo1986 - Fr 15.11.02 10:33
Titel: Im Memofeld ein Dreieck darstellen
Hallo,
ich brauche schnelle Hilfe bitte!
Also ich muss als Hausaufgabe ein Programm schreiben!
Die Aufgabe lautet: ein Edit feld und ein memofeld und ein button. Im memofeld sollen am schluss ein Dreieck aus Sternchen entstehen in einer geordneten reihenfolge das heisst dass es auch wirklich ein Dreieck ergibt.
Ich habe es jetzt schon so weit programmiert, dass ich die sternchen in ungeordneter reihenfolge habe.Aber jetzt komme ich nicht mehr weiter.
Bitte helft mir (schnell) und führt dass programm weiter bis die sternchen in geordneter Reihenfolge (Dreieck) erscheinen. Hier ist mein Ansatzprogramm:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var k,j,n : integer; s : string; begin n:=strtoint(Edit1.Text); for k:=1 to n do begin for j:=1 to (2*k-1) do s:=s+ '*'; memo1.lines.add(s); s:=' '; end; end; |
so funzt es aber halt in ungeordneter reihenfolge.
Vielen Dank für eure Hilfe
mfg aljo
(15.11.02 13:08 Tino) Code-Tags hinzugefügt. Titel geändert. Topic verschoben.
Delete - Fr 15.11.02 10:43
Wozu das Edit und was verstehst du unter "geordnet"?
aljo1986 - Fr 15.11.02 10:49
oh tschuldigung also ins edit feld gibt man die anzahl der Reihen ein von dem dreieck. Also wenn ich z.b. 3 eingebe soll es so aussehen:
*
***
*****
aljo1986 - Fr 15.11.02 10:51
geordnet heisst dann dass die einzelnene Sterne zentriert sind in jeder Zeile
.................... *
...................***
..................*****
die pkt am anfang, die ich hier gemacht habe natürlich nicht !
und bei meinem Programm sieht es im moment noch so aus
*
***
*****
Delete - Fr 15.11.02 10:55
Erstmal brauchst du eine Schrift mit fester Zeichenbreite. Dann mußt du kucken, wie breit das ganze bei gegebener zeilen zahl wird um dann entsprechend Leerzeichen einfügen zu kännen.
LCS - Fr 15.11.02 11:08
Hi
Wenn x die Anzahl der zu erzeugenden Zeilen ist:
Quelltext
1: 2: 3: 4:
| for i := 1 to x do begin sz := StringOfChar(' ', (x-i)) + StringOfChar('*', (i-1) * 2 + 1); memo1.lines.add(sz); end; |
Gruss Lothar
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!