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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
#1

Программа "ОФИЦЕРЫ" - C++

12.05.2011, 12:35. Просмотров 393. Ответов 6
Метки нет (Все метки)

Подсчитать количество способов расставить j слонов на доске nxn.

Я на сайте http://e-maxx.ru/algo/bishops_arrangement нашел довольно неплохое объяснение её но при попытки реализации выводит ошибку в строчке vector < vector<int> > d (n*2, vector<int> (k+2));
//error: 'vector' was not declared in this scorp //Подскажите пожалуйста как исправить эту ошибку и что автор делает с её помощью.
Вот мой код :

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
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
int cells (int i) 
{
if (i & 1)
return i / 4 * 2 + 1;
else
return (i - 1) / 4 * 2 + 2;
}
int main()
{
 
int n, k; 
scanf("%d%d",n,k);
if (k > 2*n-1) {
printf("0");
return 0;
}
 
vector < vector<int> > d (n*2, vector<int> (k+2));
for (int i=0; i<n*2; ++i)
d[i][0] = 1;
d[1][1] = 1;
for (int i=2; i<n*2; ++i)
for (int j=1; j<=k; ++j)
d[i][j] = d[i-2][j] + d[i-2][j-1] * (cells(i) - j + 1);
 
int ans = 0;
for (int i=0; i<=k; ++i)
ans += d[n*2-1][i] * d[n*2-2][k-i];
printf("%d",ans);
 
return 0;
}
Извиняюсь если этот вопрос уже задавали и ли данную задачу пожалуйста киньте ссылку на эту тему.

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 12:35     Программа "ОФИЦЕРЫ"
Посмотрите здесь:

Программа "задумывает" число и предлагает пользователю его угадать C++
C++ Программа, заменяющая "-" на "_"
Программа не работает когда пишу "getch()", исправьте ошибки C++
C++ тестовая программа не компилируется = "error: 'mainfunc' was not declared in this scope|"
Правильно ли написано программа про "Рубля, рублей, рубль" C++
C++ Очень нужна работающая программа по "Длинной арифметике вычитания"
Нужна рабочая программа "Ханойская башня" в консоли C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
12.05.2011, 16:16     Программа "ОФИЦЕРЫ" #2
C++
1
2
using namespace std;
vector < vector<int> > d (n*2, vector<int> (k+2));
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
12.05.2011, 16:50  [ТС]     Программа "ОФИЦЕРЫ" #3
спасибо а я могу заменить это просто строкой int d[n*2][k+2]; ??
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.05.2011, 17:26     Программа "ОФИЦЕРЫ" #4
Intel, нет, не можете. Размер массива должен быть известен на этапе компиляции, т.е. быть константой. Можно использовать динамическое выделение памяти (оператор new), но зачем изобретать велосипед, когда есть вектор.
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
13.05.2011, 01:31  [ТС]     Программа "ОФИЦЕРЫ" #5
ну так оно и известно я же ввожу scanf("%d%d",n,k);
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
13.05.2011, 09:34     Программа "ОФИЦЕРЫ" #6
Intel, вам фраза "на этапе компиляции" о чём-нибудь говорит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 15:19     Программа "ОФИЦЕРЫ"
Еще ссылки по теме:

Программа позволяющая пользователю "динамически" изменять параметры окружения C++
Нужна программа "Журнал посещения учеников/студентов/работников" C++
C++ С чего начать, первая программа на компьютере "Будильник"
C++ Программа, которая "переворачивает" последовательность положительных целых чисел
Имитировать нажатие клавиш (программа для "макросов" в игре) C++

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

Или воспользуйтесь поиском по форуму:
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
13.05.2011, 15:19  [ТС]     Программа "ОФИЦЕРЫ" #7
да точно затупил исправлюсь) там нада будет еще массив этот инициализировать)всем спасибо за разъяснения и потраченное время
Yandex
Объявления
13.05.2011, 15:19     Программа "ОФИЦЕРЫ"
Ответ Создать тему
Опции темы

Текущее время: 21:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru