Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sudoku Array of Array vergleichen (https://www.delphipraxis.net/164250-sudoku-array-array-vergleichen.html)

Bjoerk 20. Nov 2011 16:43

AW: Sudoku Array of Array vergleichen
 
Für die Sudoku Fans:

Delphi-Quellcode:
function BlockToRowCol(Block, Index: integer): TPoint;
begin
  // Block 0..8, Index 0..8
  // Result.X = Row 0..8, Result.Y = Col 0..8
  Result.X:= (Block div 3) * 3 + Index div 3;
  Result.Y:= (Block mod 3) * 3 + (Index + 3) mod 3;
end;

function RowColToBlock(Row, Col: integer): TPoint;
begin
  // Row 0..8, Col 0..8
  // Result.X = Block 0..8, Result.Y = Index 0..8
  Result.X:= Row div 3 mod 3 * 3 + Col div 3 mod 3;
  Result.Y:= Row mod 3 * 3 + Col mod 3;
end;

function IndexToRowCol(K: integer): TPoint;
begin
  // K 0..80
  // Result.X = Row 0..8, Result.Y = Col 0..8
  Result.X:= K div 9;
  Result.Y:= K - Result.X * 9;
end;

function RowColToIndex(Row, Col: integer): integer;
begin
  // Row 0..8, Col 0..8
  // Result = K 0..80
  Result:= Row * 9 + Col;
end;

Raziel eats SoulCookies 3. Dez 2012 20:28

Zahlenwerte im Array miteinander vergleichen
 
Hallo zusammen.
Ich und ein Schulkollege haben in Info eine Projektarbeit.
Wir haben uns auch für Sudoku entschieden. Wir haben hier auch schon eine menge Seiten zu diesem Thema durchgewelzt. Habe mich schließlich auch hier angemeldet um ein paar Sudokus down-zu-loaden, da wir uns das auch mal anschauen wollten.
Unser Problem besteht zum ersten darin, das hier mit vielen Funktionen und Anweisungen für Delphi programmiert wird, welche wir nicht kennen und wir aber auch nicht einfach den Quelltext kopieren können.
Zum zweiten haben wir folgenden Quelltext um das Array und Später auch das Stringrid damit zu füllen.
Es funktioniert auch bis zur 7. Zeile und 5. Spalte recht gut.
Aber dann bekommen wir einen Stacküberlauf oder eine Access Violation.
Wenn wir dann die Zelle 7/6 vom Vergleich ausklammern, kommen wir wieder ein einhalb Zeilen weiter.

Nun wollte ich mal fragen ob einer vielleicht Zeit hätte sich das mal anzuschauen und vielleicht einen Denkanstoß für das Problem hat.

---- musste den Quellcode entfernen, war der falsche.
---- richtige kommt


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr.
Seite 3 von 3     123   

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