Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Запросить с клавиатуры строку, содержащую координаты двух клеток шахматной доски.
- // Указать одного они цвета или нет.
- #include <stdio.h>
- char sz1[17];
- int nArr[5],
- x1, x2; // Цвет (0 или 1) первой и второй клеток
- // A, B, C, D, E, F, G, H
- // 1, 2, 3, 4, 5, 6, 7, 8
- // Нечётная буква + нечётная цифра = ЧЁРНЫЙ цвет (A, C, E: нечётные буквы, как 1, 3, 5)
- // чётная буква + чётная цифра = ЧЁРНЫЙ цвет (B, D, F: Чётные буквы, как 2, 4, 6)
- // Нечётная буква + чётная цифра = белый
- // чётная буква + нечётная цифра = белый
- // E2E4
- ////////////////////////////////////////////////////
- int main() //
- {
- scanf("%s", sz1);
- int i = 0,
- pos = 1;
- while(sz1[i])
- {
- if(pos > 4) break; // Уже все координаты введены!
- if(sz1[i] >= 'A')
- if(sz1[i] <= 'H') { nArr[pos] = sz1[i] - 64; pos++; }
- if(sz1[i] >= 'a')
- if(sz1[i] <= 'h') { nArr[pos] = sz1[i] - 96; pos++; }
- if(sz1[i] > '0')
- if(sz1[i] < '9') { nArr[pos] = sz1[i] - 48; pos++; }
- i++;
- } printf("\n");
- if(pos == 5)
- {
- if(nArr[1] % 2 && nArr[2] % 2 ) x1 = 1; // Чёрный цвет
- if(nArr[1] % 2 == 0 && nArr[2] % 2 == 0) x1 = 1; // Чёрный цвет
- if(nArr[3] % 2 && nArr[4] % 2 ) x2 = 1; // Чёрный цвет
- if(nArr[3] % 2 == 0 && nArr[4] % 2 == 0) x2 = 1; // Чёрный цвет
- if(nArr[1] % 2 && nArr[2] % 2 == 0) x1 = 0; // белый
- if(nArr[1] % 2 == 0 && nArr[2] % 2 ) x1 = 0; // белый
- if(nArr[3] % 2 && nArr[4] % 2 == 0) x2 = 0; // белый
- if(nArr[3] % 2 == 0 && nArr[4] % 2 ) x2 = 0; // белый
- if(x1 == x2) printf("Yes, same colors. \n");
- else printf( "No, various colors.\n");
- }
- else printf("Error! You entered the coordinates incorrectly. \n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement