AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sternchenmuster erstellen

Ein Thema von Uncle Cracker · begonnen am 9. Jan 2005 · letzter Beitrag vom 9. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#1

Sternchenmuster erstellen

  Alt 9. Jan 2005, 16:25
Hi,

wir sollen für die Schule ein Quelltext erstellen der folgendes "Bild" erstellt:

Code:
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********

Es soll Abgefragt werden, wieviel Sterne verwendet werden sollen, also wieviel Zeilen bzw. die erste Zeile, wieviele Sterne dort verwendet werden soll.

Die anderen Sternchenmuster habe ich ohne Probleme hinbekommen, doch nur dieses schaffe ich irgendwie nicht, habe es schon schon mit "repeat/until" probiert, aber irgendwie klappt das nicht

Hat vielleicht jemand eine Idee wie ich das machen könnte...?


Danke UC


PS: Die 2. Zeile soll um eins eingerückt sein, klappt aber hier irgendwie nicht wirklich... Soll also aussehen wie 2 Trichter.
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#2

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 16:34
du fängst mit der maximalzahl sternchen an. dann gehst du eine zeile runter und machst ein leerzeichen mehr und zwei sterne weniger. dann gehst du eine zeile runterm, machst ein leerzeichen mehr und zwei sterne weniger. bis nur noch ein stern da ist (wenn am anfang ungerade zahl war). dann gehst du runter machst immer eine leerstelle weniger und zwei sterne weniger.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#3

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 16:39
In welcher Schleife würdest du das machen?

While, Repeat/Until oder For?


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 16:46
ich würde 2 for-schleifen hintereinander machen. Die eine für den oberen sternchenteil, die andere für den unteren Teil
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 16:49
Da du die Zeilenzahl weist kannst du es wahrscheinlich mit der For-Schleife machen

// edit: @ SirThornberry : Mist du warst schneller
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#6

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 17:01
Also soweit bin ich schon, nur weiter komm ich nicht, wie kann ich das in die andere richtung machen?

Delphi-Quellcode:
program dreieck_links;
{$APPTYPE CONSOLE}

uses SysUtils;

var
  s, i, x, y, z: Integer;

begin
  Write('Wieviel Sterne: ');
  ReadLn(s);
  WriteLn;
  x := 0;
  z := s;
  for i := 0 to s - 1 do
  begin
    for y := 0 to z - 1 do
      Write('*');
    x := x + 1;
    z := z - 2;
    WriteLn;
    for y := 0 to x - 1 do
      Write(' ');
  end;
  ReadLn;
end.

Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 17:04
gleich Schleife mit

for i:= hoheZahl downto niedrigeZahl
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#8

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 17:16
Also irgendwie bin ich einfach nur ein bisschen zu grau um mitzubekommen warum das irgendwie nicht geht

Habe jetzt folgendes:

Delphi-Quellcode:
program dreieck_links;
{$APPTYPE CONSOLE}

uses SysUtils;

var
  s, i, x, y, z: Integer;

begin
  Write('Wieviel Sterne: ');
  ReadLn(s);
  WriteLn;
  x := 0;
  z := s;

  for i := 0 to s - 1 do //Funktion für oberen Teil
  begin
    for y := 0 to z - 1 do
      Write('*');
    x := x + 1;
    z := z - 2;
    if z >= 0 then
    begin
      WriteLn;
      for y := 0 to x - 1 do
        Write(' ');
    end;
  end;

  for i := 0 to s do //Funktion für unteren Teil
  begin
    for y := 0 to z - 1 do
      Write('*');
    x := x - 1;
    z := z + 2;
    if z <= s then
    begin
      WriteLn;
      for y := 0 to x - 1 do
        Write(' ');
    end;
  end;

  ReadLn;
end.
Also wie gesagt, der obere Teil funktioniert einwandfrei, nur beim unteren Teil kommen irgendwie Leerzeilen dazu (keine Ahnung warum) und es wird nicht ganz das gemacht was ich will (es wird die eine Zeile doppelt ausgegeben).

Hat vielleicht irgendjemand eine Ahnung warum? Es ärgert mich zwar selber, aber ich probiere das jetzt schon seit fast einer Stunde und ich komme nur in kleinen Abständen vorran und jetzt kein bisschen mehr...


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 17:29
Ich würde mir erst eine Function erstellen wie z.B.function Sternchen (Count: Byte; Length: Byte): String; Der du die Anzahl an Sternchen (z.B. 3, 7) übergibst, und die gibt dir dann z.B.
Code:
' ***  '
.

Diese kannst du dann ganz bequem aufrufen, ausgeben und schon hast du dein Sternchenmuster ...
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#10

Re: Sternchenmuster erstellen

  Alt 9. Jan 2005, 18:23
Mein Vorschlag
Code:
program dreieck_links;
{$APPTYPE CONSOLE}

uses SysUtils;

var
  max, pos: Byte;

function StrMulti (chr: Char; cnt: Byte):String;
begin
  result := '';
  if cnt = 0 then exit;
  repeat
    result := result + chr;
  until length (result) = cnt;
end;

begin
  Write ('Wieviel Sterne: ');
  ReadLn (max);
  // Wir brauchen eine ungerade Anzahl, dass wir in der Mitte einen Stern bekommen
  if (max mod 2 = 0) then inc (max, 1);
  pos := max;

  repeat
    WriteLn (StrMulti (' ', Round ((max - pos) / 2) ) + StrMulti ('*', pos));
    Inc (pos, -2);
  until pos = 1;
  repeat
    WriteLn (StrMulti (' ', Round ((max - pos) / 2) ) + StrMulti ('*', pos));
    Inc (pos, 2);
  until pos > max;
  ReadLn;
end.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz