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

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

Войти
Регистрация
Восстановить пароль
 
begginer
Сообщений: n/a
#1

Использование рекурсивной функции при написании простой игры - C++

01.02.2014, 19:50. Просмотров 168. Ответов 0
Метки нет (Все метки)

Суть такова: У нас имеется доска 5*5 ,есть шахматная фигура коня,которая должна обойти всю доску
Что в данном коде не так??

#include <Windows.h>
#include <iostream>
using namespace std;
const int size=5;
int a[size][size]={0};


bool Set(int i,int j,int counter)
{
if(counter==25) return true;
else if(i>=0&&j>=0&&i<size&&j<size)
{
a[i][j]=counter;
if(a[i-2][j+1]==0) {counter++;Set(i-2,j+1,counter);return true;}
else if(a[i-1][j+2]==0) {counter++;Set(i-1,j+2,counter);return true;}
else if(a[i+1][j+2]==0) {counter++;Set(i+1,j+2,counter);return true;}
else if(a[i+2][j+1]==0) {counter++;Set(i+2,j+1,counter);return true;}
else if(a[i+2][j-1]==0) {counter++;Set(i+2,j-1,counter);return true;}
else if(a[i+1][j-2]==0) {counter++;Set(i+1,j-2,counter);return true;}
else if(a[i-1][j-2]==0) {counter++;Set(i-1,j-2,counter);return true;}
else if(a[i-2][j-1]==0) {counter++;Set(i-2,j-1,counter);return true;}
else {a[i][j]=0;return false;}
}

}


void main()
{

Set(0,0,1);
for(int i=0;i<size;i++)
{for(int j=0;j<size;j++)
{cout.width(4);
cout<<a[i][j];}
cout<<'\n';
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 19:50     Использование рекурсивной функции при написании простой игры
Посмотрите здесь:

Использование рекурсивной функции - C++
Вычислить сумму 12 членов рекуррентной последовательности(вложения) Для решения задачи описать рекурсивную функцию, а также составить...

Использование рекурсивной функции для нахождения суммы - C++
Не знаю, как сделать этот пример (с математикой не могу разобраться). Вот предположительный код, но он не работает как надо... ...

Использование рекурсивной функции для сортировки массива по возрастанию - C++
Описать рекурсивную функцию сортировки по возрастанию массива с n целых чисел. Идея метода такова: поместить наименьший элемент на первую...

Переполнение стека при вызове рекурсивной функции - C++
Вообщем есть у меня рекурсивный вызов функции, и как я понял у меня переполняется некий &quot;стек вызовов&quot; ( там рандом, так что иногда ошибки...

Вычислить факториал заданного числа при помощи рекурсивной функции - C++
Разбирался с рекурсией и вот вдруг возникла проблема. При компиляции выдает совсем не тот результат которые ожидается, ище выдает...

Написать программу, при написании используйте функции - C++
Помогите, пожалуйста, реализовать сортировку в этом задании. Программу написал, но как отсортировать не совсем понимаю. #include...

При помощи рекурсивной функции определить, сколько квадратов можно отсечь - C++
От прямоугольника с целыми сторонами А и В отсекаются квадраты. При помощи рекурсивной функции определить, сколько квадратов можно отсечь,...

Ошибка при написании функции с неизвестным числом параметров - C++
Ругается на va_start не могу понять за что) #include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; char*foo(int n, ...); ...

при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"? - C++
Сабж g++ 4.5.0

Использование функции при выводе в cout - C++
Объясните, пожалуйста, почему так выводит 1 0. int f(int&amp; a){ return ++a; } int main(){ int a = 0; cout &lt;&lt; f(a) &lt;&lt; &quot; &quot;&lt;&lt; a; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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