Advertisement
dllbridge

Untitled

Dec 19th, 2022
865
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.31 KB | None | 0 0
  1.  
  2.  
  3. //  Запросить с клавиатуры строку, содержащую координаты двух клеток шахматной доски.
  4. //  Указать одного они цвета или нет.
  5.  
  6.  
  7. #include   <stdio.h>
  8.  
  9.  
  10.  
  11.  
  12. char     sz1[17];
  13.  
  14.  
  15. int      nArr[5],
  16.          x1, x2;  //  Цвет (0 или 1) первой и второй клеток
  17.  
  18.  
  19. //  A, B, C, D, E, F, G, H
  20. //  1, 2, 3, 4, 5, 6, 7, 8
  21.  
  22. //  Нечётная буква + нечётная цифра = ЧЁРНЫЙ цвет   (A, C, E: нечётные буквы, как 1, 3, 5)
  23. //    чётная буква +   чётная цифра = ЧЁРНЫЙ цвет   (B, D, F:   Чётные буквы, как 2, 4, 6)
  24. //  Нечётная буква +   чётная цифра =  белый        
  25. //    чётная буква + нечётная цифра =  белый      
  26. //  E2E4
  27. ////////////////////////////////////////////////////
  28. int main()                                        //
  29. {
  30.  
  31.     scanf("%s", sz1);
  32.    
  33.     int   i = 0,
  34.         pos = 1;
  35.    
  36.     while(sz1[i])
  37.     {
  38.        
  39.        if(pos > 4) break;                         //  Уже все координаты введены!
  40.        
  41.        if(sz1[i] >= 'A')
  42.        if(sz1[i] <= 'H') { nArr[pos] = sz1[i] - 64; pos++; }
  43.        if(sz1[i] >= 'a')
  44.        if(sz1[i] <= 'h') { nArr[pos] = sz1[i] - 96; pos++; }       
  45.  
  46.        if(sz1[i] >  '0')
  47.        if(sz1[i] <  '9') { nArr[pos] = sz1[i] - 48; pos++; }
  48.        
  49.        i++;
  50.                
  51.     }  printf("\n");
  52.    
  53.    
  54.     if(pos == 5)
  55.     {
  56.        
  57.        if(nArr[1] % 2      && nArr[2] % 2     ) x1 = 1;  // Чёрный цвет
  58.        if(nArr[1] % 2 == 0 && nArr[2] % 2 == 0) x1 = 1;  // Чёрный цвет  
  59.        if(nArr[3] % 2      && nArr[4] % 2     ) x2 = 1;  // Чёрный цвет
  60.        if(nArr[3] % 2 == 0 && nArr[4] % 2 == 0) x2 = 1;  // Чёрный цвет      
  61.        
  62.        if(nArr[1] % 2      && nArr[2] % 2 == 0) x1 = 0;  // белый
  63.        if(nArr[1] % 2 == 0 && nArr[2] % 2     ) x1 = 0;  // белый 
  64.        if(nArr[3] % 2      && nArr[4] % 2 == 0) x2 = 0;  // белый
  65.        if(nArr[3] % 2 == 0 && nArr[4] % 2     ) x2 = 0;  // белый 
  66.        
  67.        
  68.        if(x1 == x2) printf("Yes, same colors.   \n");
  69.        else         printf( "No, various colors.\n");
  70.     }
  71.     else  printf("Error! You entered the coordinates incorrectly. \n");
  72.  
  73. }
  74.  
  75.  
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement