Autor |
Beitrag |
Flepe
      
Beiträge: 25
|
Verfasst: So 20.12.09 23:41
hi ich bins noch mal dies mal muss ich eine sanduhr aus sternen machen(jenachdem welche zahl man eintippt im beispiel ist es 5) diese sollte dann so aussehen
Quelltext 1: 2: 3: 4: 5: 6:
| * * * * * * * * * * * * * * * * * * |
diese Sanduhr sollte dann nicht aus 4 dreiecken sondern nur aus zweien zusammengesetzt sein also au den beiden folgenden
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| * * * * * * * * *
UND AUS DEM * * * * * * * * * |
das ganze solte mit schleifen gelöst sein
wenn ihr hier dann einen code zur lösung postet bitte kommentiert es denn ich muss es schon verstehn weil sonst bringt es mir nichts. Moderiert von Narses: Topic aus VCL (Visual Component Library) verschoben am So 20.12.2009 um 23:34
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 20.12.09 23:57
Was hast du dir denn schon für Gedanken dazu gemacht? Wo haperts denn? 
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Mo 21.12.09 00:16
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Mo 21.12.09 16:38
weis das wirklich keiner ich müsste es bis morgen wissen
|
|
Jann1k
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Mo 21.12.09 17:41
Du hast doch den Quelltext zu den anderen Dreiecken, wenn du den verstehst solltest du die Sanduhr doch auch hinkriegen. Du musst doch für die erste Hälfte nur in jeder Zeile jeweils 2 Sterne weniger zeichnen als in der davor, bis du nur noch einen Stern zeichnest, dann immer 2 mehr bis du bei deiner Ausgangsgröße bist.
|
|
der organist
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Mo 21.12.09 19:35
schreib dir doch mal nen Pseudocode, damit lässt sich einfacher überlegen....
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Mo 21.12.09 22:13
wenn ich ja wüsste wie es geht würd ich nicht fragen hab da nämlich schon bestimmt 3-4 tage dran rumüberlegt
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 21.12.09 22:23
hi
Vielleicht hilft dir der Gedanke, mal die verschiebenden Leerzeichen rauszulassen und nur die Anzahl der Sterne in jeder Zeile zu betrachten
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Di 22.12.09 00:41
ja schon klar das ich da nicht mit leerzeichen arbeite das ist da oben nur um zu zeigen wie das aussehen soll
|
|
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Di 22.12.09 01:09
mach doch ne Kombi aus Dreieck 3 und 4 *scratch* etwas unsauber zwar, aber man kann ja erst das eine Dreick zeichnen und dann das andere daneben. Zum beispiel, wohlgemerkt.
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Di 22.12.09 01:59
ja klar aber das dürfen wir nicht wie ich in meinem zweiten beitragbereids erwähnt hatte
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 22.12.09 03:52
Hi
Wie wäre es denn, mit beträgen zu arbeiten? Dann ginge die Schleife von -5 bis 5 in Zweierschritten und es sind jeweils Abs(i) Sterne in jeder Reihe. Für Zweierschritte brauchst du entweder eine While-Scheife, oder du nimmst for und schreibst überall wo du i hast stattdessen Abs(2*i)
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Di 22.12.09 13:49
hi hidden kannst du mir das mal als kommentierten code geben verstehe noch nicht wie du das meinst
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 22.12.09 18:32
Hi
Wo ich deinen Quelltext sehe: Du veränderst ja die Zielschranke der for-Schleife, so etwas versuche ich immer tunlichst zu vermeiden.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| for x := 1 to Menge do begin for y:=1 to Menge do begin canvas.textout((groesse*2*count)+x*groesse,(groesse*2*count)+y*groesse,'*'); canvas.Font.Color:=Farbe[random(fmax)]; end; menge:=menge-1; end; |
In Pseudocode sähe mein Ansatz so aus(das hättest du sicher auch gekonnt  )
- Für i von minus fünf bis fünf tue:
- Mache Abs(i) Sterne in die Zeile(aufs mittige Einrücken achten).
- Nächste Zeile.
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Di 22.12.09 19:16
sorry aber das ist halt so unere aufgabe auf die art die formen zu zeichnen deshalb hab ich ja nach deinem code gefragt weil ich nicht genau verstehe was du mit i meinst von eingabe-2*eingabe to eingabe (-5 to 5) habe ich verstanden). und es muss in der aufgabe auch keine for schleife sein es kann auch jede andere der 3 schleifen sein
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Mi 23.12.09 22:39
keiner ne idee ich muss das heute bis 23:59 abgeschickt haben
|
|
Sylvus
      
Beiträge: 195
|
Verfasst: Mi 23.12.09 23:33
die idee steht da
Du musst sie nur umsetzten:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| ...
for I:=0-max to max do zeichneBaelle(abs(I)); ...
procedure zeichneBaelle(anz:integer); begin
position:=(max DIV anz)*fak1;
for I:=1 to anz do begin Canvas.textout(position,'*'); Inc(position,fak2);
end; |
Wenn du es hiermit nicht schaffst, solltest du dir mal die Grundlagen anschauen, gibt viele Tutorials 
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Do 24.12.09 00:42
Moderiert von Narses: Komplett-Zitat des letzten Beitrags entfernt.
prinzipiele(oder wie man das schreibt) verstehe ich es nur was sin die variablen max, zeichneBealle(absI) und was ist fak1 und fak2
und in welcher prozedur steht die erste for schleife?
--- Moderiert von Narses: Beiträge zusammengefasst---
ist zwar net gelöst aber meine zeit ist abgelaufen trotzdem danke für die lösungsvorschläge.
|
|
Sylvus
      
Beiträge: 195
|
Verfasst: Do 24.12.09 02:44
naja max ist deine reihe, also z.B. 5 - dachte das wäre klar
zeichneBealle ist keine Variable, sondern eine Prozedur
absI - da steht abs(I) - das ist der absolut Betrag von I, also wenn I=-3 dann ist abs(I)=3
fak1 und fak2 sind einfach zwei Faktoren, die du dir so aussuchen solltest, dass es schön aussieht, hab ich aber auch hingeschrieben. Werte wären zum Beispiel: fak1=2 und fak2=1.5
Die Prozedur kannst du dir selbst ausdenken, mache einen Button, oder im OnCreate Ereignis der Form.
Das ganze war ein PseudoCode, da du dich leider noch nicht so auskennst, dass du das alles nachvollzeihen kannst (nicht böse gemeint, jeder fängt man an) empfehle ich dir, wie auch schon vorhin, ein Tutorial zu Delphi!
Damit kommst du viel weiter, dann schaffst du das nächste Mal die Aufgaben auch selbst!
Viele Grüße
Sylvus
|
|
Flepe 
      
Beiträge: 25
|
Verfasst: Do 24.12.09 03:00
wir haben das als aufgabe für die schule gemacht und haben halt erst dieses schuljahr angefangen . ist ja egal jezt ist zu spät aber dadurch verschlechtert sich meine note nicht . trotzdem verstehe ich nicht wie der absolute betrag zustande kommt und wie ich fak1 und fak2 beide frei bestimmen kann
|
|