Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задача с расстоновкой Королев 
:(
    Опции темы
4aineG
Дата 16.11.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.8.2008

Репутация: нет
Всего: нет



Здавствуйте, уважаемые эксперты. Пытаюсь решить задачу с расстановкой королев на доске 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;
}


заранее благодарю  smile 
PM MAIL   Вверх
Pion
Дата 16.11.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.2.2006

Репутация: нет
Всего: 1



попробуй "Main" написать с маленькой буквы....
PM MAIL   Вверх
mes
Дата 16.11.2008, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(4aineG @  16.11.2008,  20:34 Найти цитируемый пост)
int Main()

замените на int _main ()

как связано название темы (задача с расстоновкой Королев) и проблема компиляции/линковки(Вылазит следующая ошибка) ???
4aineG, пострайтесь подбирать более логичные названия для своих будущих тем. 


Это сообщение отредактировал(а) mes - 16.11.2008, 20:49


--------------------
PM MAIL WWW   Вверх
4aineG
Дата 17.11.2008, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.8.2008

Репутация: нет
Всего: нет



я изменил, но все равно вылазит ошибка:
invalid allocation size: 4294967295
а затем...
this application has requested the Runtime to terminate it in an unusual way.
Pleae contact the application's support team for more information
???
PM MAIL   Вверх
DareDevil225
Дата 17.11.2008, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.9.2006

Репутация: 1
Всего: 1



нужно изменить
Код

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


на
 
Код

Queen(int l)
    {
        length = l;//этустроку
        Place = new int [length];
        for (int i=0; i<length; i++)
            Place[i] = 0;
    }


Код ужасный, инициализируйте все переменные перед использованием
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.