Написати мовою Ci: Поле шахівниці визначається парою натуральних чисел, кожне з яких не перевищує 8: перше число - номер вертикалі (при відліку зліва направо), друге - номер горизонталі (при відліку знизу догори). Дано натуральні числа a, b, c, d, кожне з яких не перевищує 8. Визначити, чи поля (a, b) і (c, d) полями одного кольору.
Ответы на вопрос
Ответ:
1)
#include <stdio.h>
#include <stdbool.h>
bool CheckColor(unsigned short int first, unsigned short int second){
if((first % 2) == (second % 2)){
return false;
}else{
return true;
}
}
int main(){
unsigned short int a, b, c, d;
bool firstcolor, secondcolor; // 0 - black; 1 - white
printf("Enter a: \n");
scanf("%hd", &a);
printf("Enter b: \n");
scanf("%hd", &b);
printf("Enter c: \n");
scanf("%hd", &c);
printf("Enter d: \n");
scanf("%hd", &d);
firstcolor = CheckColor(a,b);
secondcolor = CheckColor(c,d);
if(firstcolor == secondcolor){
printf("Equal");
}else{
printf("Not equal");
}
return 0;
}
2)
#include <stdio.h>
#include <stdbool.h>
int main(){
bool ChessBoard[8][8] = {
{0,1,0,1,0,1,0,1},
{1,0,1,0,1,0,1,0},
{0,1,0,1,0,1,0,1},
{1,0,1,0,1,0,1,0},
{0,1,0,1,0,1,0,1},
{1,0,1,0,1,0,1,0},
{0,1,0,1,0,1,0,1},
{1,0,1,0,1,0,1,0}
};
unsigned short int a, b, c, d;
printf("Enter a: \n");
scanf("%hd", &a);
printf("Enter b: \n");
scanf("%hd", &b);
printf("Enter c: \n");
scanf("%hd", &c);
printf("Enter d: \n");
scanf("%hd", &d);
if(ChessBoard[a-1][b-1] == ChessBoard[c-1][d-1]){
printf("Equal");
}else{
printf("Not equal");
}
return 0;
}
3)
#include <stdio.h>
#include <stdbool.h>
int main(){
bool ChessBoard[8][8];
bool Current = false;
for(unsigned short int i = 0; i < 8; i++){
for(unsigned short int j = 0; j < 8; j++){
ChessBoard[i][j] = Current;
if(Current == false){
Current = true;
}else{
Current = false;
}
}
if(Current == false){
Current = true;
}else{
Current = false;
}
}
unsigned short int a, b, c, d;
printf("Enter a: \n");
scanf("%hd", &a);
printf("Enter b: \n");
scanf("%hd", &b);
printf("Enter c: \n");
scanf("%hd", &c);
printf("Enter d: \n");
scanf("%hd", &d);
if(ChessBoard[a-1][b-1] == ChessBoard[c-1][d-1]){
printf("Equal");
}else{
printf("Not equal");
}
return 0;
}
Объяснение:
Я рекомендую первую.