В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
яqwertyuiop123
яqwertyuiop123
15.04.2022 09:57 •  Информатика

Ходы ферзя
На шахматной доске стоит ферзь. Отметьте положение ферзя на доске и все клетки, которые он бьет. Клетку, где стоит ферзь, отметьте буквой “Q”, клетки, которые бьет ферзь, отметьте символами “*”, остальные клетки заполните точками.

Входные данные

Программа получает на вход два числа — координаты ферзя на шахматной доске. Каждая координата вводится на отдельной строке. Первое число обозначает номер строки, а второе — номер столбца. Все числа принимают значения от 1 до 8.

Выходные данные

Выведите на экран изображение доски.

Примеры
Ввод
Вывод
2
5
. . . * * * . .
* * * * Q * * *
. . . * * * . .
. . * . * . * .
. * . . * . . *
* . . . * . . .
. . . . * . . .
. . . . * . . .
Решите задачу на C++ или Python!!

Показать ответ
Ответ:
slavasolyanin
slavasolyanin
12.10.2020 12:21

#include <bits/stdc++.h>

using namespace std;

int main()

{

   char a[8][8];

   long long x, y, i, j;

   cin >> y >> x;

   for(i = 0; i < 8; i++){

       for(j = 0; j < 8; j++){

           a[i][j] = '.';

       }

   }

   x--;

   y--;

   

   

   

   if(x - y >= 0){

       i = 0;

       j = x - y;

   }

   else{

       j = 0;

       i = y - x;

   }

   for(;i < 8 and j < 8;){

       a[i][j] = '*';

       i++;

       j++;

   }

   

   

   

   if(x + y <= 7){

       i = 0;

       j = x + y;

   }

   else{

       j = 7;

       i = x + y - 7;

   }

   for(;i < 8 and j >= 0;){

       a[i][j] = '*';

       i++;

       j--;

   }

   

   

   

   i = 0;

   j = x;

   for(;i < 8; i++){

       a[i][j] = '*';

   }

   

   

   i = y;

   j = 0;

   for(;j < 8; j++){

       a[i][j] = '*';

   }

   

   

   a[y][x] ='Q';

   for(i = 0; i < 8; i++){

       for(j = 0; j < 8; j++){

           cout << a[i][j] << " ";

       }

       cout << '\n';

   }

   return 0;

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота