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

расстановка королев - C++

Восстановить пароль Регистрация
 
4aineg
0 / 0 / 0
Регистрация: 07.08.2008
Сообщений: 23
16.11.2008, 20:42     расстановка королев #1
Здавствуйте, уважаемые эксперты. Пытаюсь решить задачу с расстановкой королев на доске 8*8. Необходимо расставить так, чтобы ни одна фигура не била другую.
Алгоритм вроде правильный, но Вылазит следующая ошибка:
C:\Documents and Settings\Диманчег\Мои документы\Visual Studio 2005\Projects\Chess_Queen(modificated)\Debug\Chess_Queen(modificated).exe : fatal error LNK1120: 1 unresolved externals
и еще
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup


Код
#pragma once
#include <iostream>
using namespace std;

class Queen
{

private:

    int *Place;
    int length;

public:

    Queen(int l)
    {
        l = length;
        Place = new int [length];
        for (int i=0; i<length; i++)
            Place[i] = 0;
    }

    bool GoodPosition(int len);
    void Insert();

    ~Queen()
    {
        delete [] Place;
    }

};

// Functions.h

#pragma once
#include "Queen.h"

bool Queen::GoodPosition(int len)
{
    bool t = true;
    int i = 0;
    while (t&&(i < len))
    {
        t = t && (Place[len] != Place[i]) &&
            (abs(Place[len] - Place[i]) != (len - 1));
        i++;
    }

    return t;
}

void Queen::Insert()
{
    if (length > 1)
    {
        Place[0] = 0;
        int k = 1;
        int S = 0;
        while(k >= 0)
        {
            Place[k]++;
            if (Place[k] == length)
            {
                Place[k] = -1;
                k--;
            }
            else
                if(GoodPosition(k))
                    k++;
            if (k == length)
            {
                S++;
                cout << "Decision: ";
                for (int i = 0; i < length; i++)
                    cout << Place[i];
                k--;
            }
        }
        cout << endl;
        cout << "Amount of decisions: " << S << endl;
    }

    else
        if (length == 1)
            cout << "1 decision" << endl;
        else 
            cout << "no decisions, please enter length >1" <<endl;
}

#pragma once
#include "Queen.h"
#include "Functions.h"

int Main()
{
    Queen q(8);
    q.Insert();

    return 0;
}
заранее благодарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2008, 20:42     расстановка королев
Посмотрите здесь:

Расстановка 8 ферзей C++
C++ Расстановка знаков препинания
Расстановка игральных костей C++
«Расстановка кубиков» C++
Free Pascal Расстановка ферзей
C++ Расстановка кирпичей
Расстановка html тегов в тексте C++
Консольный морской бой. Расстановка кораблей C++
Расстановка ссылок в списке через цикл C++
Расстановка кораблей (морской бой) C++
Расстановка знаков операций C++
Расстановка восьми ферзей на шахматной доске так, чтобы ни один не угрожал другому C++

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

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

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