Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Sudoku {
- public static void main(String[] args) {
- Scanner hanne = new Scanner (System.in);
- int [][] sudoku = new int [9][9];
- //nu zit er overal 0 in
- for (int i=0; i<9; i++){
- for (int j=0; j<9; j++){
- System.out.println("Sudoku ["+i+" , "+j+"] : ");
- sudoku [i][j] = hanne.nextInt();
- }
- //we willen 0 tem 9 kunnen invullen => 10 kotjes maken
- int [] controle = new int [10];
- boolean ok = true;
- boolean dubbel;
- // rijen controleren
- int r = 0;
- int k=0;
- int index = sudoku [r][k];
- do{
- //controle-array moet altijd starten met allemaal nulletjes
- for (int m=0; m<controle.length; m++) controle[m]=0;
- k = 0;
- do{
- controle [index]++;
- }
- while ((k<9)&&(index!=0)&&(controle[index]>1));
- r++;
- }
- while (ok && (r<9));
- //voor kolommen doe je identiek hetzelfde, maar draai je r en k om
- //per blokje van 3x3 kotjes kijken of elk getalleke maar 1 keer voorkomt
- r=0;
- k=0;
- int n;
- int j;
- while (ok&&(r<9)){
- while (ok&&(k<9)){
- for (int m=0; m<controle.length; m++){
- controle [m] = 0;
- }
- dubbel = false;
- n=r;
- do{
- j=k;
- do{
- index = sudoku [n][j];
- controle [index]++;
- if((index !=0) && (controle[index]>1)) {
- dubbel = true; ok = false;
- }
- j++;
- }
- while (!dubbel && j<k+3);
- i++;
- }
- while (!dubbel && (n<r+3));
- }
- k+=3;
- }
- k=0;
- r+=3;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement