Autor Beitrag
aljo1986
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 15.11.02 10:33 
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:
ausblenden 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.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 15.11.02 10:43 
Wozu das Edit und was verstehst du unter "geordnet"?
aljo1986 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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

*
***
*****
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Fr 15.11.02 11:08 
Hi
Wenn x die Anzahl der zu erzeugenden Zeilen ist:
ausblenden 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...