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

не могу доработать программу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса. http://www.cyberforum.ru/cpp-beginners/thread262296.html
Класс Triangle (треугольник). Класс хранит Декартовы координаты трех углов треугольника. Конструктор принимает три группы координат. Должны быть предусмотренные функции-элементы, которые вычисляют...
C++ Написать программу, которая будет добавлять в текстовый файл введенную из клавиатуры информацию Написать программу, которая будет добавлять в текстовый файл введенную из клавиатуры информацию. Следует предусмотреть возможность выбора пользователем режима работы: добавление или отображение... http://www.cyberforum.ru/cpp-beginners/thread262292.html
найти суму ряда C++
Нужно найти суму ряда з заданою точностью e=10^-4 (тоисть это 0.001).Члены меньше e не считать.Показать как получена рекурсивна формула U_k+1 Ряд:x/1!-x^3/3!+x^5/5!-..... Рекурсивная формула...
C++ Построить на экране график функции подвижным визирем ис рисунка.
Составить программу, которая строит на экране график функции подвижным визирем ис рисунка. (Кривая графика появляется из кончика стрелки; скорость движения стрелки 1 ... 2,5 см / сек; стрелка -...
C++ Построить на экране кривую по заданному параметрическому уравнению. http://www.cyberforum.ru/cpp-beginners/thread262253.html
Построить на экране кривую по заданному параметрическому уравнению. Режим дисплея графический (graphics_mode VGAHI 640X480). График кривой выводить линией, характеристики которой (стиль, толщина,...
C++ ошибка на Линуксе у меня такая проблема, на обычном Visual Studio программа работает верно, когда запускаю её на Линуксе, выдаётся ошибка... вся проблема в том, что на Линксе из текстового файла не считывается \n.... подробнее

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

не могу доработать программу - C++

23.03.2011, 01:11. Просмотров 279. Ответов 0
Метки (Все метки)

Доброго времени суток!
не могу доработать программку..
надо что бы она выводила не один единственный вариант, а прорабатывала все возможные комбинации
и выводила их общие количество
задача о 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdlib.h>
#include <iostream.h>
 
using namespace std;
 
int board[8][8];
 
void setQueen(int i, int j)
{
     for (int x=0; x <8; ++x)
     {
         ++board[x][j];
         ++board[i][x];
         int foo;
         foo = j - i + x;
         if (foo >= 0 && foo <8)
            ++board[x][foo];
         foo = j +i -x;
         if (foo >= 0 && foo <8)
            ++board[x][foo];
     }
     board[i][j] = -1;
}
 
void resetQueen(int i, int j)
{
     for (int x=0; x <8; ++x)
     {
         --board[x][j];
         --board[i][x];
         int foo;
         foo = j - i + x;
         if (foo >= 0 && foo <8)
            --board[x][foo];
         foo = j +i -x;
         if (foo >= 0 && foo <8)
            --board[x][foo];
     }
     board[i][j] = 0;
}
bool tryQueen (int i)
{
     bool result = false;
     for (int j = 0; j <8; ++j)
         {
             if (board[i][j] == 0)
                {
                setQueen(i,j);
                if (i == 7)
                  result = true;
                else
                  {
                       if(!(result = tryQueen(i+1)))
                         resetQueen(i,j);
                  
                  }
         } 
         if (result)
            break;
}
return result;
}                    
 
int main()
{
 for (int i = 0; i < 8; ++i)
     for (int j = 0; j < 8; ++j)
       board[i][j] = 0;
     tryQueen(0);
     for (int i = 0; i < 8; ++i)
     {    
         for (int j = 0; j < 8; ++j)
         {
             if (board[i][j] == -1)
                cout << "[]";
             else
                cout << "."; 
         }
     cout << endl; 
     }
     system("PAUSE");
     return EXIT_SUCCESS;       
}
Добавлено через 52 секунды
помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru