Форум программистов, компьютерный форум CyberForum.ru

Узнать какая фигура удалена по шахматной нотации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели на указатели с числами. Почему можно присвоить число в 4-ый элемент, если массив из 2 элементов? http://www.cyberforum.ru/cpp-beginners/thread1651169.html
Есть массив int **mas; mas=new int*; // выделил место под пять строк, верно ? mas=new int;// выделил для первой строки матрицы два столбца, верно ?? mas=rand(); То есть я создал 5 строк на указатели типа int для первой строки создал массив из 2 элементов
C++ Реализация вычисления факториала без использования функции Как реализовать факториал без функций??? Например через циклы( если конечно возможно ). Помогите пожалуйста, весь мозг сломал:) http://www.cyberforum.ru/cpp-beginners/thread1651148.html
Переписать код используя printf C++
Код довольно лёгкий, но в таком виде я ниразу не работал, помогите перевести с использованием printf. for (int i = 0; i <= N + 1; ++i) for (int j = 0; j <= M + 1; ++j) cout << (i == 0 || j == 0 || i == N + 1 || j == M + 1 ? '#' : a) << (j <= M ? "" : "\n"); Как я понял, будет что-то типа for (int i = 0; i <= N + 1; ++i) { for (int j = 0; j <= M + 1; ++j) { if (i == 0 || j == 0 ...
Вычесть из числа сумму его цифр C++
Добрый день! Помогите пожалуйста решить задачку. Нашел пример на Паскале, нужно написать на С++ используя указатели и функцию. Формула Еn - где n задает пользователь. Например Е123 = 1+2+3. N=123-6 = 117, 117-9=108 и так далее, пока не отнимем все числа. Есть пример, тут я так понял используют функцию, но не используют указатели. http://www.cyberforum.ru/pascalabc/thread1024112.html Заранее...
C++ Спецификаторы наследования http://www.cyberforum.ru/cpp-beginners/thread1651064.html
Всем здрасьте, у меня возник такой вопросик. Есть базовый класс - Main. Есть класс, который наследует Main - Object Object наследует Main со спецификатором public => через Object я могу использовать protected и public методы Main. Но проблема в том, что protected не могу использовать :с Подправьте, если я не прав. Также, если наследовать через private, то по идеи я не должен мочь...
C++ Вызвать метод базового класса из метода наследника Есть базовый класс с виртуальным методом, выводящим значение его полей. В классе-наследнике есть метод с таким же названием, и он также выводит значение полей класса-наследника, но не выводит значение наследуемых полей. Нужно вставить метод из базового класса в метод класса наследника (название методов одинаковое). подробнее

Показать сообщение отдельно
Termit779
44 / 29 / 10
Регистрация: 22.11.2015
Сообщений: 98
03.02.2016, 12:54     Узнать какая фигура удалена по шахматной нотации
diga_pr, сравнивать FEN на каждом полуходе. Как вариант.

Добавлено через 1 час 44 минуты
Пользуйтесь на здоровье.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <vector>
#include <string>
using namespace std;
 
/*FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR (упрощенный, нач.положение фигур)*/
 
int main()
{
    vector<char> fen;   // храним фен
    char buff;          
    cout << "Enter notation. End of input '$'" << endl; // конец ввода - символ '$'
    cout << "Enter FEN: ";
 
    while (cin.get(buff)) // читаем фен в вектор
    {
        if (buff == '$') break;
        fen.push_back(buff);
    }
 
    int pawn_black = 0; // кол-во черных пешек на доске
    int pawn_white = 0; // кол-во белых пешек на доске
 
    /*и так дальше для фигур белых и черных*/
 
    /********************************************************************/
    for (size_t i = 0; i < fen.size(); i++)
    {
        if (fen[i] == 'p')
        {
            ++pawn_black;   // ищем пешки черных
        }
        if (fen[i] == 'P')
        {
            ++pawn_white;   // ищем пешки белых
        }
        /*сюда пишем код для остальных фигур*/
    }
 
    /********************************************************************/
 
 
    cout << pawn_black << " " << pawn_white << endl; // поэтому можно узнать удаленные пешки черных и белых
    cout << 8-pawn_black << " " << 8-pawn_white << endl; // удалено пешек черных и белых                                                
    
    cin.get();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru