Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi magisches feld/quadrat (https://www.delphipraxis.net/14590-magisches-feld-quadrat.html)

brutus 12. Jan 2004 07:57


magisches feld/quadrat
 
Ich habe neulich von nem kumpel von so einem quadrat gehört!
Das ist ein Quadrat in dem alle zeilen und spalten und diagonalen den selben wert haben!!

Bsp.:

1 2 3
2 3 1
3 1 2


Könnt ihr mir helfen dies in Delphi zu schreiben???

Luckie 12. Jan 2004 08:15

Re: magisches feld/quadrat
 
Da gibt es einen Algorithmus für, such mal mit Google.

himitsu 12. Jan 2004 09:15

Re: magisches feld/quadrat
 
Sowas nennt sich "Magisches Quadrat".

http://www.mathe.tu-freiberg.de/~heb...e/magisch.html

MikeS 12. Jan 2004 09:29

Re: magisches feld/quadrat
 
das ist ja sehr interessant was ihr hier so schreibt, aber ich denke in so einem "magischen Quadrat" ist von allen diagonalen, horizontalen und vertikalen die Rede!

Dein Beispiel sieht jedoch so aus:

1 2 (3)
2 (3) 1
(3) 1 2

Das ist wohl nicht ganz das was du suchst!

himitsu 12. Jan 2004 09:30

Re: magisches feld/quadrat
 
Das ist wohl der Einfachste:
Code:
        [color=olive]1[/color]
      4   2     4 [color=olive]9[/color] 2
    [color=olive]7[/color]  5   [color=olive]3[/color]  [color=olive]3[/color] 5 [color=olive]7[/color] = 15
      8   6     8 [color=olive]1[/color] 6
        [color=olive]9[/color]

             [color=olive]1[/color]
          [color=olive]6[/color]    [color=olive]2[/color]
      11     7     3             11 [color=olive]24[/color] 7 [color=olive]20[/color] 3
   [color=olive]16[/color]   12     8     [color=olive]4[/color]          [color=olive]4[/color] 12 [color=olive]25[/color] 8 [color=olive]16[/color]
[color=olive]21[/color]   17    13     9     [color=olive]5[/color]      17  [color=olive]5[/color] 13 [color=olive]21[/color] 9  = 65
   [color=olive]22[/color]   18    14    [color=olive]10[/color]         [color=olive]10[/color] 18  [color=olive]1[/color] 14 [color=olive]22[/color]
      23    19    15             23  [color=olive]6[/color] 19  [color=olive]2[/color] 15
         [color=olive]24[/color]   [color=olive]20[/color]
            [color=olive]25[/color]
Der Code wdürfte ja nicht so schwer sein, einfach alles, was aus dem Quadrat herausragt, um eine Quadratlänge ins Quadrat hineinschieben...

himitsu 12. Jan 2004 09:51

Re: magisches feld/quadrat
 
Zitat:

Zitat von MikeS
das ist ja sehr interessant was ihr hier so schreibt, aber ich denke in so einem "magischen Quadrat" ist von allen diagonalen, horizontalen und vertikalen die Rede!

Dein Beispiel sieht jedoch so aus:

1 2 (3)
2 (3) 1
(3) 1 2

Das ist wohl nicht ganz das was du suchst!

Das ist auch eine Art Magisches Quadrat, auch wenn es die wohl billigste Variante ist und auch nicht so ganz magisch aussieht.
Delphi-Quellcode:
{StringGrid1: TStringGrid}

Const G = 5; {Größe der Quadrats}

Var X, Y, S: Integer;

Begin
  StringGrid1.ColCount := G + 1;
  StringGrid1.RowCount := G;
  StringGrid1.DefaultColWidth := 25;
  StringGrid1.DefaultRowHeight := 20;
  StringGrid1.FixedCols := 0;
  StringGrid1.FixedRows := 0;
  S := 0;
  For X := 0 to G - 1 do Begin
    For Y := 0 to G - 1 do
      StringGrid1.Cells[X, Y] := IntToStr((X + Y) mod G + 1);
    Inc(S, X + 1);
  End;
  StringGrid1.Cells[G, G - 1] := IntToStr(S);
End;

MikeS 12. Jan 2004 16:50

Re: magisches feld/quadrat
 
Magisches Quadrat

Magische Zahlenquadrate sind Zahlenfelder,
bei denen jede Zahlenreihe, egal ob waagrecht, senkrecht oder diagonal addiert,
dieselbe Summe ergibt.

Dabei kommt jede Zahl nur einmal vor.
Die Schwierigkeit liegt jedoch in ihrer Anordnung.
Das einfachste Quadrat umfasst 3 mal 3, also 9 Felder.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 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