AGB  ·  Datenschutz  ·  Impressum  







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

Das Haus vom Nikolaus Konsolenanwendung

Ein Thema von hotkey · begonnen am 20. Aug 2011 · letzter Beitrag vom 3. Sep 2011
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
AoN

Registriert seit: 2. Sep 2011
1 Beiträge
 
#31

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 2. Sep 2011, 19:13
So hat man das ganze Haus; bei a wird die Größe eingegeben (Bis max. 80, da es sonst nicht mehr in die Konsole passt ).
Das mit a MOD ist da sonst die Diagonalen nicht ganz passen würden.
Code:
program Project1;
{$AppType Console}
var i, a, c, j: integer;
begin
   a := 10;
   if (a MOD 2) = 1 then
    a := a+1;
   c := (a div 2);
   for i := 0 to a do
   begin
    for j := 0 to a do
     if
    (((i=j) and (i>c)) or
    ((a-j=i) and (j<=c)))
    then
     write('X')
    else
     write(' ');
   writeLn
  end;
  for i := 0 to a do
  begin
   for j := 0 to a do
    if
    ((i=0) or (j=0) or (j=a) or (i=a) or (i=j) or (a-j=i))
    then
     write('X')
    else
     write(' ');
   writeLn
  end;
  readLn
end.
Viel Spaß damit =)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#32

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 2. Sep 2011, 19:46
Wenn du
Delphi-Quellcode:
for i := 0 to a do
  begin
   for j := 0 to a do
die Y-Achse von -a/2 bis a laufen läßt und die Diagonalen mit
einem "Überlauf" versiehst (ABS(x) und x mod (a+1) ),
dabei noch die senkrechten im negativen Y-Bereich nicht anzeigst,
dann kannst du die erste Dachschleife dort mit integrieren.
$2B or not $2B
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#33

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 2. Sep 2011, 21:03
etwas OT:

alles auf ein zweifarbiges BMP zeichnen das BMP nach AsciiArt umwandeln.

Dann die erhaltenen Zeichen zeilenweise ausgeben.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#34

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 2. Sep 2011, 23:16
etwas OT:

alles auf ein zweifarbiges BMP zeichnen das BMP nach AsciiArt umwandeln.

Dann die erhaltenen Zeichen zeilenweise ausgeben.

Grüße
Klaus
oder auf einen Zettel malen, einscannen, OCR und dann ausgeben
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Singlepin

Registriert seit: 3. Sep 2011
10 Beiträge
 
#35

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 3. Sep 2011, 09:43
Ich komme mir vor als sei ich zurückversetzt in die Zeiten von DOS, 8Bit-PC und Turbopascal.
Da gab es die Procedure GotoXY(x,y).
Mit der Konsole geht das auch.

Delphi-Quellcode:
{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

var
  TextWindow: TSmallRect;
  BufferInfo: TConsoleScreenBufferInfo;
  StdOut: THandle;
  i,j:Integer;

procedure GotoXY(X, Y: Smallint);
var NewPos: TCoord;
begin
Inc(X, TextWindow.Left - 1);
Inc(Y, TextWindow.Top - 1);
if (X >= TextWindow.Left) and (X <= TextWindow.Right) and
   (Y >= TextWindow.Top) and (Y <= TextWindow.Bottom) then
 begin
 NewPos.X := X;
 NewPos.Y := Y;
 SetConsoleCursorPosition(StdOut, NewPos);
 end;
end;

begin
Rewrite(Output);
StdOut := TTextRec(Output).Handle;
GetConsoleScreenBufferInfo(StdOut,BufferInfo);
TextWindow.Left := 0;
TextWindow.Top := 0;
TextWindow.Right := BufferInfo.dwSize.X - 1;
TextWindow.Bottom := BufferInfo.dwSize.Y - 1;
// hier mal eine Diagonale
for i:=1 to 20 do
  begin
  j:=i*2+10;
  gotoxy(i,j);write('x');
  end;

readln;
Acht Linien brauchen wir in der richtigen Reihenfolge.
Wenn ich mich richtig erinnere 8! = 8*7*6*5*4*3*2 = 40320 Möglichkeiten.
Viel Spaß beim probieren.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#36

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 3. Sep 2011, 13:11
Wenn ich mich richtig erinnere 8! = 8*7*6*5*4*3*2 = 40320 Möglichkeiten.
Das ist nicht korrekt. Du kannst ja nicht mit der Linie am Boden anfangen und direkt zum Dach springen. Da gibt es wesentlich weniger Möglichkeiten.

Habt ihr die Aufgabe in eurem Kurs eigentlich immer noch? Ich finde es schade dass ihr sowas machen müsst. Bei uns gibt es leider keinen Leistungskurs, aber wenn wir unsere Zeit mit so einem Unsinn verschwenden würden, dann ist das denke ich auch besser so...

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Singlepin

Registriert seit: 3. Sep 2011
10 Beiträge
 
#37

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 3. Sep 2011, 13:31
Hallo Valle,

ich weiß man darf den Stift nicht absetzen.
Wieviele sind es den nun genau?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#38

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 3. Sep 2011, 14:24
Es gibt 88 verschiedene Möglichkeiten das HdN zu Zeichnen.
Wenn man aber die gespiegelten und umgekehrten Wege ignoriert, dann muß man sich nur 22 Wege merken.
(wenn ich richtig gezählt hab)

- man kann eine Linie ja auch rückwärts ablaufen
- und das HdN ist horizontal gespiegelt

PS: alle Wege beginnen und Enden am Boden
$2B or not $2B
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#39

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 3. Sep 2011, 20:32
PS: alle Wege beginnen und Enden am Boden
Graphentheorie, oder? Lang, lang ist's her...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#40

AW: Das Haus vom Nikolaus Konsolenanwendung

  Alt 3. Sep 2011, 20:43
Laut Wikipedia sind es 44: http://de.wikipedia.org/wiki/Haus_des_Nikolaus
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 01:18 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