/* 
 * Lerneinheit C-Pointer
 * Einheit 3: Pointer & Felder
 * Aufgabe 3.2.3: Schachbrett
 * 
 * Schreibe ein Programm mit dem die 64 Felder (8x8) eines Schachbretts über einen Pointer
 * ihrer Farbe nach initialisiert werden (z.B. für schwarz = '#', für weiß = ' '). 
 * Gebe das Schachbrett anschließend formatiert (also im Schachbrettform) aus und überpüfe 
 * so, ob die Anordnung der einzelnen Felder korrekt ist.
 */

#include<stdio.h>

int main(void)
{
  char schachfeld [8][8];
  char *pt_schachfeld;
  pt_schachfeld = &schachfeld [0][0];
  int i=0, j=0;
  
  /* Schachbrett initialisieren */
  
  do{
  
    for (j=0; j<8; j++)
    {        
        if(i%2==0)
        {
             *(pt_schachfeld+i)=' ';
        }
        else
        {
             *(pt_schachfeld+i)='#';     
        }
            
        i++;
    }
    
    for (j=0; j<8; j++)
    {        
        if(i%2==0)
        {
             *(pt_schachfeld+i)='#';
        }
        else
        {
             *(pt_schachfeld+i)=' ';     
        }
            
        i++;
    }
  
  }while(i<8*8);
  
  /* Schachbrett ausgeben */
  
  printf ("Das Schachbrett: \n\n");
  
  for (i=0; i<8; i++)
  {
    for (j=0; j<8; j++)
    {
       printf ("| %2c ", *pt_schachfeld++);
    }
    printf ("|\n\n\n");
   } 
          
  fflush(stdin);
  getchar();
  return 0;
}
