Advertisement
Guest User

y

a guest
Dec 21st, 2014
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Sudoku {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. Scanner hanne = new Scanner (System.in);
  8. int [][] sudoku = new int [9][9];
  9. //nu zit er overal 0 in
  10.  
  11. for (int i=0; i<9; i++){
  12. for (int j=0; j<9; j++){
  13. System.out.println("Sudoku ["+i+" , "+j+"] : ");
  14. sudoku [i][j] = hanne.nextInt();
  15. }
  16.  
  17. //we willen 0 tem 9 kunnen invullen => 10 kotjes maken
  18. int [] controle = new int [10];
  19. boolean ok = true;
  20. boolean dubbel;
  21.  
  22. // rijen controleren
  23. int r = 0;
  24. int k=0;
  25. int index = sudoku [r][k];
  26.  
  27. do{
  28. //controle-array moet altijd starten met allemaal nulletjes
  29. for (int m=0; m<controle.length; m++) controle[m]=0;
  30. k = 0;
  31. do{
  32. controle [index]++;
  33. }
  34. while ((k<9)&&(index!=0)&&(controle[index]>1));
  35. r++;
  36. }
  37. while (ok && (r<9));
  38.  
  39. //voor kolommen doe je identiek hetzelfde, maar draai je r en k om
  40.  
  41. //per blokje van 3x3 kotjes kijken of elk getalleke maar 1 keer voorkomt
  42. r=0;
  43. k=0;
  44. int n;
  45. int j;
  46. while (ok&&(r<9)){
  47. while (ok&&(k<9)){
  48. for (int m=0; m<controle.length; m++){
  49. controle [m] = 0;
  50. }
  51. dubbel = false;
  52. n=r;
  53. do{
  54. j=k;
  55. do{
  56. index = sudoku [n][j];
  57. controle [index]++;
  58. if((index !=0) && (controle[index]>1)) {
  59. dubbel = true; ok = false;
  60. }
  61. j++;
  62. }
  63. while (!dubbel && j<k+3);
  64. i++;
  65. }
  66. while (!dubbel && (n<r+3));
  67. }
  68. k+=3;
  69. }
  70. k=0;
  71. r+=3;
  72. }
  73. }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement