Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Das Haus vom Nikolaus Konsolenanwendung (https://www.delphipraxis.net/162394-das-haus-vom-nikolaus-konsolenanwendung.html)

hotkey 20. Aug 2011 19:51

Delphi-Version: 6

Das Haus vom Nikolaus Konsolenanwendung
 
Hallo , ich bin grade im Informatik Leistungskurs ( Klasse 12 ) und als Einführung müssen wir das Haus vom Nikolaus unter Konsolenanwendung programmieren , das heißt schlicht und einfach gesagt "cmd"-Fenster , allerdings müsssen wir das Haus mit 'x' programmieren , also nur mit dem Buchstaben x..

Ich habe schon die senkrechte "Linie" , die aus x'en besteht , programmiert mit einer for to do Schleife , allerdings schaffe ich die horizontale Linie nicht:

x
x
x
x
x
x
x x x x x x x <- Das schaffe ich nicht..




Hier mal mein Code , ich weiß , ist nix eingerückt etc , aber das ist momentan nicht die oberste Priorität..



Code:
program Project2;

uses
  Forms;

{$AppType Console}
var i,j:Integer;
begin
  for i:=1 to 10 do begin
  writeln('x');
  readln;
  if (i=1) then begin
  for j:=1 to 10 do
  write('x');
  read;
end;




end;
end.
Sobald in der ersten for-to-do-Schleife die 10 erreicht wird , soll mit der zweiten Schleife gearbeitet werden , aber das kriege ich nicht hin..

Luckie 20. Aug 2011 19:58

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Das wird in der Konsole so nicht funktionieren. Oder wie willst du die Diagonale zeichnen? Entweder du nimmst dir eine Unit mit der du den Cursor positionieren kannst oder du machst ein grafisches Programm mit Fenster. Ich würde zweiteres machen, weil das mit Sicherheit einfacher ist.

hotkey 20. Aug 2011 20:04

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Nein nein , das geht , das hat unser Lehrer gesagt , um die Diagonale werden wir uns später kümmern , das Problem ist die horizontale Linie , das muss man doch schaffen , das sind paar lächerliche Befehle mit if und for-to-do..

Namenloser 20. Aug 2011 20:11

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Du hast
Delphi-Quellcode:
begin
und
Delphi-Quellcode:
end
falsch gesetzt.
Wenn du deinen Code ordentlich einrücken würdest, würde dir das auffallen:

Delphi-Quellcode:
program Project2;

uses
  Forms;

{$AppType Console}
var i,j:Integer;
begin
  for i:=1 to 10 do
  begin
    writeln('x');
    readln;
    if (i=1) then
    begin
      for j:=1 to 10 do
        write('x');
      read;
    end; // if
  end; // for
end.

hotkey 20. Aug 2011 20:14

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Das hilft mir leider auch nicht weiter.. Jetzt erscheint nur ein x...

Namenloser 20. Aug 2011 20:19

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von hotkey (Beitrag 1118349)
Das hilft mir leider auch nicht weiter.. Jetzt erscheint nur ein x...

Ich habe an deinem Code nichts verändert. Ich habe ihn nur ordentlich formatiert.

Weißt du überhaupt was die Befehle
Delphi-Quellcode:
readln
und
Delphi-Quellcode:
read
machen?

hotkey 20. Aug 2011 20:23

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Ja , das weiß ich.

Kannst du mir Tipps geben , wie ich das hinkriege ?

Namenloser 20. Aug 2011 20:24

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von hotkey (Beitrag 1118354)
Ja , das weiß ich.

Sicher? Denn in deinem Code machen sie überhaupt keinen Sinn.

hotkey 20. Aug 2011 20:31

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Komisch , so hat das mein Informatik-Lehrer auch gemacht und es funktioniert , wie erklärst du mir das ?

Wenn ich ganz normal in Delphi programmiere benutze ich diese read-Befehle nicht , aber bei dieser Konsolenanwendung sollen wir das so machen.

Read liest Werte ein :)

Namenloser 20. Aug 2011 20:38

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Richtig, aber
Delphi-Quellcode:
read
ist eine blockierende Operation, das heißt, das Programm wird so lange angehalten, bis ein Wert eingegeben wurde. Kommentiere mal alle read*-Befehle aus, und du solltest schon fast das gewünschte Ergebnis erhalten.

hotkey 20. Aug 2011 20:49

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Was meinst du mit "Auskommentieren" ?

Luckie 20. Aug 2011 20:50

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Die Codezeile in einen Kommentar umwandeln. Alternativ kannst du sie auch löschen. Aber zum Testen kommentiert man sie nur aus, damit man sie nicht noch mal schreiben muss, wenn sie doch im Code bleiben soll.

hotkey 20. Aug 2011 20:53

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Delphi-Quellcode:
program Project2;

uses
  Forms;

{$AppType Console}
var i,j:Integer;
begin
  for i:=1 to 10 do
  begin
    writeln('x');
    readln; // Wenn ich das lösche , funktioniert garnix mehr
    if (i=10) then
    begin
      for j:=1 to 10 do
        write('x');
      read; -> // Wenn ich das lösche , erscheint wieder nur ein x..
    end;
  end;
end.

himitsu 20. Aug 2011 20:59

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von hotkey (Beitrag 1118368)
Delphi-Quellcode:
// Wenn ich das lösche , funktioniert garnix mehr

Das glaub ich dir nicht.
Vermutlich ist das Programm nur so schnell fertig, daß man es nicht sieht.
Das könnte man aber alles mit dem Debugger prüfen.

Delphi-Quellcode:
program Project2;


{$AppType Console}
var i,j:Integer;
begin
  for i:=1 to 10 do
  begin
    writeln('x');
    if (i=10) then
    begin
      for j:=1 to 10 do
        write('x');
    end;
  end;
  ReadLn;
end.
Wozu ist eigentlich die Unit Forms enthalten?
Ich denke du willst eine Konsolenanwendung und keine VCL-Anwendung erstellen?

hotkey 20. Aug 2011 21:01

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Ich habe doch ne Konsolenanwendung , hab keine VLC-Anwendung , das ist nciht das Problem..

Luckie 20. Aug 2011 21:13

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Willst du einen Beweis?

Luckie 20. Aug 2011 23:39

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Mit einem Fenster ist es wesentlich einfacher:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  case Button1.Tag of
    0: begin
         Canvas.MoveTo(50,600);
         Canvas.LineTo(300,600);
       end;
    1: begin
         Canvas.LineTo(300, 350);
       end;
    2: begin
         Canvas.LineTo(50, 350);
       end;
    3: begin
         Canvas.LineTo(175, 200);
       end;
    4: begin
         Canvas.LineTo(300, 350);
       end;
    5: begin
         Canvas.LineTo(50,600);
       end;
    6: begin
         Canvas.LineTo(50, 350);
       end;
    7: begin
         Canvas.LineTo(300,600);
       end;
  end;
  Button1.Tag := Button1.Tag + 1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Tag := 0;
end;
Die Lösung ist nicht optimiert, sondern nur mal so schnell in zwei Minuten hingetippt.

Namenloser 21. Aug 2011 00:36

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Luckie, er hat eingangs geschrieben, dass er es als Konsolenanwendung umsetzen muss, das nützt ihm also nix. Informatiklehrer machen teilweise recht seltsame Vorgaben...

ehX 21. Aug 2011 01:16

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Höhö.....

Delphi-Quellcode:

program DasHausVomNikolaus;

{$APPTYPE CONSOLE}

var
  i : Integer ;
  haus : array[0..42] of string = (
'______________X',
'_____________X_X',
'____________X___X',
'___________X_____X',
'__________X_______X',
'_________X_________X',
'________X___________X',
'_______X_____________X',
'______X_______________X',
'_____X_________________X',
'____X___________________X',
'___X_____________________X',
'__X_______________________X',
'_X_________________________X',
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'XX_________________________XX',
'X_X_______________________X_X',
'X__X_____________________X__X',
'X___X___________________X___X',
'X____X_________________X____X',
'X_____X_______________X_____X',
'X______X_____________X______X',
'X_______X___________X_______X',
'X________X_________X________X',
'X_________X_______X_________X',
'X__________X_____X__________X',
'X___________X___X___________X',
'X____________X_X____________X',
'X_____________X_____________X',
'X____________X_X____________X',
'X___________X___X___________X',
'X__________X_____X__________X',
'X_________X_______X_________X',
'X________X_________X________X',
'X_______X___________X_______X',
'X______X_____________X______X',
'X_____X_______________X_____X',
'X____X_________________X____X',
'X___X___________________X___X',
'X__X_____________________X__X',
'X_X_______________________X_X',
'XX_________________________XX',
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
);



begin

for i := 0 to High(Haus) do
    Writeln(Haus[i]);

readln; // Wenn man unbedingt nen Stop braucht...
end.
Vielleicht nicht ganz....im Sinn der Informatiklehrers....aber eine Lösung :lol::lol::lol:
(Unterstriche evtl noch durch Leerzeichen ersetzen, die Leerzeichen hatte es mir hier beim Posten zerschossen :-))

P.S: Ja, ich weiss, es geht auch anders, indem man es "wirklich" programmiert..aber ich würde meinem Infolehrer bei so einer doofen Aufgabe (CMD-Programm...) genau das vorsetzen :-D

Medium 21. Aug 2011 04:26

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Danke Fin! Ich hatte bei der Eingangsfrage schon exakt die selbe Idee, du hast mir dankenswerterweise die Ausformulierung abgenommen :mrgreen:.

Sobald die Diagonalen dazu kommen, wird es eh sonst ... echt doof? Aber weil's so schön blöd ist:

Delphi-Quellcode:
var
  i, k, m, p: Integer;

begin
  k := 13;
  m := 11;
  for i := 0 to 42 do
  begin
    if i<=13 then
    begin
      for p := 0 to k do
        Write(' ');
      Write('x');
      for p := 0 to m-k do
        Write(' ');
      if i>0 then
        Write('x');
      dec(k);
      inc(m);
    end
    else
    if (i=14) or (i=42) then
    begin
      for p := 0 to 28 do
        Write('x');
      k := 0;
      m := 24;
    end
    else
    begin
      Write('x');
      for p := 0 to k-1 do
        Write(' ');
      Write('x');
      for p := 0 to m-k do
        Write(' ');
      if i<>28 then
        Write('x');
      for p := 0 to 23-m do
        Write(' ');
      Write('x');
      if i<28 then
      begin
        inc(k);
        dec(m);
      end
      else
      begin
        dec(k);
        inc(m);
      end;
    end;
    Writeln;
  end;
  Readln;
end.
Ich übe mich ja in Zurückhaltung was Web-Slang angeht, aber WTF? :lol:

Edit: Okay, 2 Schleifen und die Waagerechten dazwischen wären sinniger, hatte mit einem case angefangen. Dann fiel mir ein, dass das vermutlich noch nicht dran war, und davon ist das noch ein Rest. Aber bei der Aufgabe verbietet sich eh jeder ernsthafte Gedanke. Nicht weil so leicht, sondern weil (auch didaktisch) echt daneben.

himitsu 21. Aug 2011 08:08

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Wer hat alles in Mathematik aufgepasst?

Gegeben ist ein Koordinatensystem, bzw. eine gezackte Gerade.
und gegeben sind 8 Geraden, bzw. 6 Geraden mit Überlauf.

Liegt nun ein Pinkt des Koordinatensystems auf einer der Linien?
Wenn ja, dann zeichne dort ein X.



Zwei Schleifen im Koordinatensystem:
Delphi-Quellcode:
// ___1___
// __a_b__
// _a___b_
// 2ccccc3
// fd___eg
// f_d_e_g
// f__x__g
// f_e_d_g
// fe___dg
// 4hhhhh5

var
  x, y: Integer;
begin
  for y := 0 to 42 do begin
    for x := 0 to 28 do
      if (y + 14 = x) {b: diagonal}
          or (y + 14 = 28 - x]) {a: diagonal}
          or (y + 42 = x) {d: diagonal}
          or (y + 42 = 28 - x) {e: diagonal}
          or ((y > 13) and (x = 0)) {f: senkrecht}
          or ((y > 13) and (x = 28)) {g: senkrecht}
          or (y = 14) {c: quer}
          or (y = 42) {h: quer} then
        Write('X')
      else
        Write(' '); // Write('_'); für Debugmodus
    WriteLn;
  end;
  ReadLn;
end.
Zwei Schleifen im Koordinatensystem (die Berechnung 'nen bissl optimiert/zusammengefaßt):
Delphi-Quellcode:
var
  x, y: Integer;
begin
  for y := 0 to 42 do begin
    for x := 0 to 28 do
      if (((y + 14) mod 28) in [x, 28 - x]) {diagonal}
          or ((y > 13) and (x in [0, 28])) {senkrecht}
          or (y in [14, 42]) {quer} then
        Write('X')
      else
        Write(' '); // Write('_'); für Debugmodus
    WriteLn;
  end;
  ReadLn;
end.
Eine Schleife mit Koordinatensystem:
Delphi-Quellcode:
var
  x, y: Integer;
begin
  x := 0;
  y := 0;
  while y < 43 do begin
    if (((y + 14) mod 28) in [x, 28 - x]) {diagonal}
        or ((y > 13) and (x in [0, 28])) {senkrecht}
        or (y in [14, 42]) {quer} then
      Write('X')
    else
      Write(' '); // Write('_'); für Debugmodus
    Inc(x);
    if x > 28 then begin
      WriteLn;
      x := 0;
      Inc(y);
    end;
  end;
  ReadLn;
end.
Eine Schleife auf 'ner Geraden.
Delphi-Quellcode:
var
  i: Integer;
begin
  for i := 0 to 1246 do begin
    if (((i div 29 + 14) mod 28) in [i mod 29, 28 - i mod 29]) {diagonal}
        or ((i > 407) and (i mod 29 in [0, 28])) {senkrecht}
        or (i div 29 in [14, 42]) {quer} then
      Write('X')
    else
      Write(' '); // Write('_'); für Debugmodus
    if i mod 29 = 28 then
      WriteLn;
  end;
  ReadLn;
end.


PS: Wer die Linien alle einzeln berechnen/einfügen möchte, der nehme eine StringListe oder ein String-Array, zum Zwischenspeichern.
Fülle erstmal alle Zeilen mit Leerzeichen und tauschen dann, Stück für Stück, die einelnen Punkte/Chars aus, bevor alles ausgegeben wird.

Hier hat man also ein Koordinatensystem / eine Fläche in den Strings.
Gehe nun nur noch die bekannten Geraden durch und zeichne deren Punkte ein.

hotkey 21. Aug 2011 11:51

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Naja , das mit der Diagonale.. Das wird uns unser Lehrer noch erklären , ich bin jetzt soweit , dass das so aussieht :


x
x
x
x
x
x
x
x
x
x x x x x x x

Jetzt fehlt nur noch die parallele zur der Senkrechten und dann noch die Parallele zu der Horizontalen..

himitsu 21. Aug 2011 13:26

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Die Horizontalen ist natürlich ganz leicht ... genauso wie die Vorhandene, einfach in einer "anderen" Zeile. :wink:

Und die Senkrechte ... ein paar Leerzeichen hinter der Vorhandenen und dann die Neue anhängen.

haentschman 21. Aug 2011 13:29

AW: Das Haus vom Nikolaus Konsolenanwendung
 
... nur wie kommst du in der Konsole eine Zeile zurück ? Imho gar nicht. Da liegt der Hase im Pfeffer. 8-)

hotkey 21. Aug 2011 13:32

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Danke für die Tipps. Ich versuch mal die Tipps umzusetzen..

Luckie 21. Aug 2011 13:40

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von haentschman (Beitrag 1118434)
... nur wie kommst du in der Konsole eine Zeile zurück ? Imho gar nicht.

Doch mit API Funktionen kann man den Cursor auch in der Konsole positionieren. Aber ich glaube nicht, dass der Lehrer das will.

Allerdings frage ich mich, was der Lehrer mit der Aufgabe überhaupt bezweckt. Was soll das Lernziel sein? Also um Schleifen zu üben, gibt es bessere Programme.

ehX 21. Aug 2011 13:57

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Ist bei der Aufgabe nicht generell die Vorgabe, ein haus zu zeichnen, ohne den "Zeichenstift" abzusetzen?
Wenn das so ist, ist die von mir im vorherigen Post genannte Lösung, ein simples String-Array auszuwerfen, ja theoretisch für ein CMD-Programm die einzig richtige, da das die einzige Lösung ist, bei der in der Konsole nicht neu positioniert werden muss und der "Zeichenstift" Zeile für Zeile durchgeht, ohne eine noch einmal zu durchwandern :-D :-D
(mal vom Zeilensprung von Writeln abgesehen, aber der lässt sich ja eh nicht vermeiden...)

Ich hab hier auch eine Unit rumliegen, mit der ich immer in der Konsole positioniere...die müsste ich allerdings mal von den Abhängigkeiten meiner Libs freischaufeln...

Namenloser 21. Aug 2011 14:08

AW: Das Haus vom Nikolaus Konsolenanwendung
 
[OT]
Zitat:

Zitat von ehX (Beitrag 1118440)
Ist bei der Aufgabe nicht generell die Vorgabe, ein haus zu zeichnen, ohne den "Zeichenstift" abzusetzen?

Ohweia, jetzt wo du’s sagst... wahrscheinlich kommt der Lehrer als nächstes mit dieser Turtle-Unit an :roll:
[/OT]

Jumpy 22. Aug 2011 08:46

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Das würde wohl auch die ganzen read bzw. readln erklären, wenn nach jedem 'x' oder jedem "Strich" des Hauses eine Pause gemacht wird, damit man die Entwicklung sieht.

himitsu 22. Aug 2011 08:54

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von Jumpy (Beitrag 1118518)
Das würde wohl auch die ganzen read bzw. readln erklären, wenn nach jedem 'x' oder jedem "Strich" des Hauses eine Pause gemacht wird, damit man die Entwicklung sieht.

Wobei man sowas, vorallem bei einer Konsolenanwendung, extrem gut debuggen könnte, da sich Windows um das Zeichnen der Konsole kümmert und nicht die eigene Anwendung. :angle2:

Aber das ReadLn am Schluß ist schon wichtig, wenn man das Programm micht über eine Konsole startet.
Also z.B. aus Delphi heraus oder über den Explorer.

Denn dort nimmt das Programm ja "seine" selbsterstellte Konsole mit und man sieht (fast) nix, ohne Debugger.

AoN 2. Sep 2011 18:13

AW: Das Haus vom Nikolaus Konsolenanwendung
 
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 =)

himitsu 2. Sep 2011 18:46

AW: Das Haus vom Nikolaus Konsolenanwendung
 
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 (
Delphi-Quellcode:
ABS(x)
und
Delphi-Quellcode:
x mod (a+1)
),
dabei noch die senkrechten im negativen Y-Bereich nicht anzeigst,
dann kannst du die erste Dachschleife dort mit integrieren.

Klaus01 2. Sep 2011 20:03

AW: Das Haus vom Nikolaus Konsolenanwendung
 
etwas OT:

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

Dann die erhaltenen Zeichen zeilenweise ausgeben.

Grüße
Klaus

Sir Rufo 2. Sep 2011 22:16

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von Klaus01 (Beitrag 1121389)
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 :mrgreen:

Singlepin 3. Sep 2011 08:43

AW: Das Haus vom Nikolaus Konsolenanwendung
 
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.

Valle 3. Sep 2011 12:11

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von Singlepin (Beitrag 1121449)
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

Singlepin 3. Sep 2011 12:31

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Hallo Valle,

ich weiß man darf den Stift nicht absetzen.
Wieviele sind es den nun genau?

himitsu 3. Sep 2011 13:24

AW: Das Haus vom Nikolaus Konsolenanwendung
 
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. :stupid:
(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

Jumpy 3. Sep 2011 19:32

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von himitsu (Beitrag 1121491)
PS: alle Wege beginnen und Enden am Boden

Graphentheorie, oder? Lang, lang ist's her...

Luckie 3. Sep 2011 19:43

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Laut Wikipedia sind es 44: http://de.wikipedia.org/wiki/Haus_des_Nikolaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Seite 1 von 2  1 2      

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