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

Задачка. Поле шахматной доски - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С++ Теория алгоритмов. Найти количество делителей http://www.cyberforum.ru/cpp-beginners/thread793664.html
Пусть х — некоторое натуральное число (1 <= x <= 1018), обладающее следующим свойством - все простые делители этого числа не превосходят 1000. Найти количество его делителей. Пример: Входные данные/Выходные данные 12/6 239/2
C++ Вычислить определитель матрицы представив ее в виде произведения 2-х треугольных матриц И ещё нужно чтобы в матрицу можно было ввести десятичные числа (0,66). #include "stdafx.h" #include <iostream> #include <cmath> double determ(int** Arr, int size); int main() { int size=3; http://www.cyberforum.ru/cpp-beginners/thread793656.html
C++ std::map что такое и с чем это есть
попытался найти док-ию по map, но так и не нащёл. есть у кого ли нормальная док-ия по Map?
Дана строка символов, представляющих собой арифметическое выражение. Подсчитать результат выражения C++
Дана строка символов, представляющих собой арифметическое выражение. Подсчитать результат выражения. Нужна ваша помощь
C++ Visual Studio не подключаются стандартные библиотеки http://www.cyberforum.ru/cpp-beginners/thread793645.html
Проблема в 10й и 12й версии VS, не могу понять в чем проблема...
C++ Из текстового файла удалить все слова, не соответствующие шаблону Ребята, помогите сделать эту лабу, вторые выходные сижу и мучаюсь. Вот она: Из текстового файла удалить все слова, не соответствующие шаблону. Шаблон задается как длина слова и количество согласных букв в нем. Вроде легко, но как именно удалить все слова я не могу понять. Если можно, с объяснениями. Заранее спасибо. подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
18.03.2013, 23:37     Задачка. Поле шахматной доски
Цитата Сообщение от xtorne21st Посмотреть сообщение
bool DisasterQ(int i, int j)
{
* * if (Desk[i][j] == 'C')
* * * * return true;
* * return false;
}
bool Disasterq(int i, int j)
{
* * if (Desk[i][j] == 'C' || Desk[i][j] == 'Q')
* * * * return true;
* * return false;
}
C++
1
2
return Desk[i][j] == 'C';
return Desk[i][j] == 'C' || Desk[i][j] == 'Q';
не?

Добавлено через 12 минут
вообще хороший приём хранить не просто доску, но и массив вертикалей/горизонталей/диагоналей под ударом врага. (Если нужна быстрая проверка поля на "под ударом")
То есть
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool hor_danger[desk_size];
bool vert_danger[desk_size];
bool diagA_danger[desk_size*2-1];
bool diagB_danger[desk_size*2-1];
 
void place_enemy_rook(int x, int y){//добавить ладью на поле
  hor_danger[x]=true;    //вертикаль и горизонталь с соотв. номером теперь под ударом
  vert_danger[y]=true;
//+можно добавить проверку выхода за границы
}
void place_enemy_queen(int x, int y){//добавить ферзя на поле
  place_enemy_rook(x, y);//то же самое
  diagA_danger[x+y]=true;//+ диагонали  с соотв. номером теперь под ударом
  diagB_danger[size+x-y-1]=true;//+можно добавить проверку выхода за границы
}
bool is_tile_safe(x, y){//быстрая проверка, под ударом ли поле
  return hor_danger[x]||vert_danger[y]||diagA_danger[x+y]||diagB_danger[size+x-y-1];
}
 
Текущее время: 02:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru