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

рекурсивно расставить 8 ферзей C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод программы с VB.NET на C++ http://www.cyberforum.ru/cpp-beginners/thread24643.html
Доброго времени суток! На просторах интернета я нашел исходный текст одной интересной программки. Смысл в том, что программа отвечает на вопросы, которые вводит пользователь. Своего рода AI(искусственный интелект) Исходник написан на Visual Basic.NET. Я дружу с VB.NET, но ближе мне C++ и поэтому я решил перевести прогу на C++. Вот исходный код на VB.NET: Module Module1 Public otvet As...
C++ шаблоны // lab1.cpp : main project file. #include "stdafx.h" #include <iostream> #include <conio.h> using namespace System; using namespace std; const double pi=3.14159; http://www.cyberforum.ru/cpp-beginners/thread24631.html
C++ Проверить маленькую программу
#include <iostream> using namespace std; template <class X> X min(X a, X b) { if (a<=b) return a; else return b; } void main()
Передача параметров в функцию (сортировка двусвязного списка) C++
Дан работающий код (двусвязный список+сортировка его пузырьком) Нужно выделенную часть оформить в отдельную функцию. я делаю три параметра - List* head, List* tail, int n проблема в том, что я никак не соображу, как передавать параметры, чтобы head и tail при выходе из процедуры изменялись) объясните пожалуйста! собсно, код:
C++ PsTerminateSystemThread http://www.cyberforum.ru/cpp-beginners/thread24608.html
Привет пишу KMD драйвер фильтр в ф-и DriverEntry создал поток //... status = PsCreateSystemThread(&hThread,THREAD_ALL_ACCESS, NULL, NtCurrentProcess(),NULL,Func,(PVOID)dev_ext ); if (status != STATUS_SUCCESS) { DbgPrint("++DR.sys++ THREAD not create!!"); } else{
C++ Не печатает русские символы Возник такой вопрос. Почему в консоле не выводятся кирилические символы? Когда я использую такой код: cout << "Проверка" выводится не ожидаемая "Проверка" , а просто набор символ. Я слышал, что в .NET есть функция Console::Write(), которая отображает любые символы, но в своей программе я не использую .NET Может ли консоль "говорить" по русски, и если умеет, то как это сделать? подробнее

Показать сообщение отдельно
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36

рекурсивно расставить 8 ферзей C++ - C++

01.03.2009, 11:51. Просмотров 1669. Ответов 0
Метки (Все метки)

помогите пожалуйста,в рекурсии пока ноль.нужно расставить 8 ферзей на шахм доске 8*8 так,чтобы они не били друг-друга.идея такова-ставим первую ферзю в первый столбец и сразу присваиваем из этой точки по горизонтали,по вертикали и по диогоналям еденицы(массив изначально заполнен нолями).далее ставим следующюю ферзю...Я именно это и немогу записать в коде -в рекурсию еще не вьехалю
..........................................................................................................................
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
#include<stdio.h>
#include<windows.h>
#include<conio.h>
#include<iostream>
using namespace std;
const int a=8, b=8;
int A[a][b], n = 1;
void PrintBoard();
bool HorseMove(int y, int x);
///////////////////
void main()
{
    int y=6,x=3;
    if(HorseMove(y,x))PrintBoard();
    else cout<<"err";
}
///////////////////
bool HorseMove(int y, int x)
{
  if(y<0||y>7||x<0||x>7||A[y][x]||A[y][x]==1)return false;
 
  A[y][x]=n++;
 
  if(n>8)return true;
 
  if(HorseMove(???????????????????????))return true;
 
    A[y][x]=0;
    n--;
  return false;
}
///////////////////
void PrintBoard()
{
    for(int i=0;i<a;i++)
    {
        for(int j=0;j<b;j++)
        {
            cout<<A[i][j]<<"\t";
        }
        cout << "\n\n\n";
    }
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru