Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 2
Регистрация: 01.06.2013
Сообщений: 69

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

31.01.2016, 13:17. Показов 935. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Помогите написать программу: Зная шахматную нотацию узнать какая фигура была удалена? (нотация Форсайта — Эдвардса)

Добавлено через 23 часа 16 минут
ну хотя бы идею
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2016, 13:17
Ответы с готовыми решениями:

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

Определить какая из точек наименее удалена от начала координат
Даны координаты точек А(х0, у0) и В(х1, у1). Определить какая из точек А или В наименее удалена от начала координат (О(0,0)). 1...

Определить, какая из точек удалена от начала координат на большее расстояние
Приветствую будущих коллег=)у меня вот проблемка...надо 3 задачки написать...помогите плиииииз))) 1. Заданы координаты двух точек на...

12
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
31.01.2016, 14:03
нужно пройтись по списку ходов и найти ходы где одна фигура становится на место другой - эта фигура, на место которой встали и была удалена.
0
3 / 3 / 2
Регистрация: 01.06.2013
Сообщений: 69
31.01.2016, 14:42  [ТС]
Цитата Сообщение от _Valera_ Посмотреть сообщение
нужно пройтись по списку ходов и найти ходы
в нотации мне кажется нет смысла это делать, так как она показывает текущее расположение фигур на доске, и просто, если я правильно думаю, надо посмотреть по нотации какие фигуры присутствуют а каких нет, и соответственно выводить информацию, но каким образом это делать я не совсем понимаю.
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
31.01.2016, 15:14
Цитата Сообщение от diga_pr Посмотреть сообщение
так как она показывает текущее расположение фигур на доске,
нет. Она показывает ход и какая фигура откуда и куда пошла // только одна фигура ходит за одни ход, вот ее ход и записан
0
3 / 3 / 2
Регистрация: 01.06.2013
Сообщений: 69
03.02.2016, 11:06  [ТС]
Цитата Сообщение от _Valera_ Посмотреть сообщение
нет. Она показывает ход и какая фигура откуда и куда пошла // только одна фигура ходит за одни ход, вот ее ход и записан
нотация Форсайта — Эдвардса (он же FEN) показывате расположение фигур на доске, может вы путаете с обычной нотацией (он же PGN) ?
2
 Аватар для Termit779
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
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;
}
2
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
03.02.2016, 14:17
Цитата Сообщение от diga_pr Посмотреть сообщение
нотация Форсайта — Эдвардса (он же FEN) показывате расположение фигур на доске, может вы путаете с обычной нотацией (он же PGN) ?
может.
0
3 / 3 / 2
Регистрация: 01.06.2013
Сообщений: 69
03.02.2016, 16:09  [ТС]
Termit779, я сделал следующим образом:
я сделал упрощенную, где описывается начальная позиция всех фигур, нотацию. Убрал из этой нотации все знаки "/" и так же цифры. Отсортировал. Получил массив букв. После ввода новой нотации происходит тоже самое, после чего я их просто сравниваю посимвольно, и если чего то не хватает я вывожу информацию о том какой символ отстутсвует
1
 Аватар для Termit779
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
03.02.2016, 16:13
diga_pr, дело вкуса. Кстати покажи код.
0
3 / 3 / 2
Регистрация: 01.06.2013
Сообщений: 69
04.02.2016, 22:18  [ТС]
Termit779, показал бы, да только у меня на js. Если надо, то могу залить)
0
 Аватар для Termit779
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
05.02.2016, 11:56
diga_pr, не, не нужно. На js есть готовое решение.
0
3 / 3 / 2
Регистрация: 01.06.2013
Сообщений: 69
05.02.2016, 18:10  [ТС]
Termit779, разве? я не находил, можешь скинуть если нашел, хочу сравнить
0
 Аватар для Termit779
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
05.02.2016, 20:22
diga_pr, харе. Не угарай. Я сам с гит сравниваю и смотрю что и как. Знаешь? Один умный чел сказал: Если есть возможность - используй то , что есть, не думай , что ты создашь лучше, чем то, что люди делают больше 500 и более лет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2016, 20:22
Помогаю со студенческими работами здесь

Определить, какая из двух точек (x1,y1) и (x2,y2) больше удалена от центра координат
Определить, какая из двух точек (x1,y1) и (x2,y2) больше удалена от центра координат. Пожалуйста, помогите. Желательно решение...

Какая из трех точек на плоскости наиболее удалена от начала координат
Помогите пожалуйста решить задачку (в консольном приложении) // Разработать метод который вычисляет длину отрезка по координатам...

Определить какая из точек А или В наиболее удалена от начала координат
Ввести с клавиатуры координаты точек А(х0, у0) и В(х1, у1). Определить какая из точек А или В наиболее удалена от начала координат...

Определить, какая из трёх точек наиболее удалена от точки с заданными координатами
На плоскости 3 точки заданы своими координатами:(x1,y1),(x2,y2),(x3,y3).Определить, какая из точек наиболее удалена от точки с заданными...

Определить, какая из трех точек на плоскости наиболее удалена от начала координат
Разработать метод f(x1, y1, x2, y2), который вычисляет длину отрезка по координатам вершин (x1, y1) и (x2, y2), и метод max(a, b),...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru