Advertisement
S0lll0s

8 Damen-Problem

Feb 27th, 2014
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.02 KB | None | 0 0
  1. int[] schachbrett = new int[8];
  2. int counter = 1;
  3.  
  4. bool damenSicher() {
  5.    for (int x=0; x<7; x++) {
  6.       if (schachbrett[x] != 0) {
  7.          for(int y=x+1; y<=7; y++) {
  8.             if (schachbrett[y] != 0)  {
  9.                if (schachbrett[x]==schachbrett[y])
  10.                    return false;
  11.                if (Math.Abs(x-y)==Math.Abs(schachbrett[x]-schachbrett[y]))
  12.                    return false;
  13.              }
  14.          }
  15.       }
  16.    }
  17.    return true;
  18. }
  19.  
  20. int dame(int position) {
  21.    int x = 1;
  22.  
  23.    while(x <= 8) {
  24.       schachbrett[position]=x;
  25.       if(damenSicher()) {
  26.          if(position) {
  27.             if(damenSicher())
  28.                return 1;
  29.          }
  30.          else {
  31.             Console.Write("Loesungs-Nr " + (counter++) );
  32.             for(int i=0; i<8; i++)
  33.                Console.Write("(" + i+1 + "," + schachbrett[i] + ")" );
  34.             Console.WriteLine();
  35.          }
  36.       }
  37.       x++;
  38.    }
  39.    schachbrett[position] = 0;
  40.    return 0;
  41. }
  42.  
  43. void Main() {
  44.    dame(schachbrett,7);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement