27. Programozási feladat - Sudoku

Sudoku

Feladat

9x9-es pályán helyezzünk le 1-től 9-ig terjedő számokat, amelyekre igazak az alábbi feltételek:

  • Egy sorban kétszer nem lehet ugyanaz a szám
  • Egy oszlopban kétszer nem lehet ugyanaz a szám
  • A pálya 3x3-as részekre van osztva. Egy 3x3-as rész mátrixban nem lehet kétszer ugyanaz a szám.

     

Segítség, tippek

A beviteli mezők TextBoxok, amelyeket programozva a Form inicializálása során hozunk létre.

Érdemes 10x10-es pályát használni, mert akkor a 0. oszlop nem fog bezavarni, amikor bármit akarsz ellenőrizni. A generáláshoz két darab egymásba ágyazott ciklust használj

Amikor legenerálod a Textboxokat, akkor a nevüket (Name property) úgy állítsd be, hogy a neve legyen oszlop_sor formájú. 

Minden Textboxnak ugyanaz legyen az eseménykezelő függvénye, amely a Change eseményre lép életbe. A név alapján az eseménykezelőben meg lehet állapítani, hogy melyik textbox változott és milyen sort, oszlopot és 3x3-as mátrixot kell ellenőrizni.