Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Konkin
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 30
1

Шахматная доска: Проверить, есть ли угроза королю

24.02.2011, 00:48. Просмотров 2060. Ответов 20
Метки нет (Все метки)

Формулировка. На шахматной доске стоят черный король и белые ладья и
слон (ладья бьет по горизонтали и вертикали, слон – по диагоналям).
Проверить, есть ли угроза королю и если есть, то от кого именно.
Позиция каждой шахматной фигуры задается в обычной нотации, например,
d7.

Формат входных данных: [вертикальная позиция короля] [пробел]
[горизонтальная позиция короля] [вертикальная позиция ладьи]
[горизонтальная позиция ладьи] [вертикальная позиция слона]
[горизонтальная позиция слона]. Пример: a1b2c3

Формат выходных данных: [вертикальная позиция той фигуры, которая бьет
короля] [горизонтальная позиция той фигуры, которая бьет короля]
[пробел] [вертикальная позиция той фигуры, которая бьет короля]
[горизонтальная позиция той фигуры, которая бьет короля]. Фигуры
выводятся в порядке их ввода. Если король не бьется ни одной фигурой,
то выдается no solution. Пример: b1 c3


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Chess 17.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "russian");
    int gkk, gks, gkl; // Горизонтальные координаты короля, слона и ладьи соответственно
    char vkk, vks, vkl; // Вертикальные координаты короля, слона и ладьи соответственно
    printf ("Пожалуйста введите координаты фигур\n"); //Ввод данных
    printf ("Горизонтальная координата короля: \n");
    scanf ("%d", &gkk);
    printf ("Вертикальная координата короля: \n");
  scanf ("%с", &vkk);   
    printf ("Координаты короля: %d%с\n",gkk,vkk);
    printf ("Горизонтальная координата ладьи: \n");
    scanf ("%d", &gkl);
    printf ("Вертикальная координата ладьи: \n");
    scanf ("%с", &vkl);
    printf ("Координаты ладьи: %d%с\n",gkl,vkl);
    printf ("Горизонтальная координата слона: \n");
    scanf ("%d", &gks);
    printf ("Вертикальная координата слона: \n");
    scanf ("%с", &vks);
    printf ("Координаты слона: %d%с\n",gks,vks);
    _getch ();
    return (0);
}
Подскажите пожалуйста почему такой вариант ввода данных не работает? Когда вводишь цифру в тип int, то все нормально. Но как только нужно вбить вторую координату фигуры и напечатать букву, то вылазит ошибка. При компиляции ошибок нет. Только при работе. Разве я не прав что тут нужен тип char для того чтобы задать координату буквой??
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2011, 00:48
Ответы с готовыми решениями:

Проверить, есть ли угроза королю и если есть, то от кого именно
нуждаюсь в вашей помощи... На шахматной доске стоят черный король и белые...

На шахматной доске стоят черный король и белые ладья и слон; есть ли угроза королю?
Реализуйте приложение, отвечающее на вопрос задачи. - На шахматной доске...

Подскажите как сократить: угроза королю
uses crt; var x1,x2,y1,y2:integer; begin clrscr; writeln('размер доски...

Шахматная доска
Здравствуйте, проблема вот в чем, нужно создать якобы шахматную доску, вывод в...

Шахматная доска
Подскажите варианты решения данной проблемы. Хочу создать свой первый сайт....

20
Konkin
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 30
27.02.2011, 20:43  [ТС] 21
Цитата Сообщение от Mayonez Посмотреть сообщение

Не по теме:

Konkin, как по мне, преобразование из буквенных координат в численные у меня выглядит логичнее

У вас для этого используются циклы. Конечно логичнее, но мне запретили их использовать (((
0
27.02.2011, 20:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2011, 20:43

шахматная доска
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не...

Шахматная доска
Добрый день! Задача: Дана шахматная доска размером nn клеток. Верхняя левая...

Шахматная доска
Нужно нарисовать на экране шахматную доску и периодически через 2-5 секунд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru