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

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

Войти
Регистрация
Восстановить пароль
 
khaleesi
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 12
#1

Задача о восьми ферзях - C++

14.06.2014, 14:34. Просмотров 620. Ответов 2
Метки нет (Все метки)

Есть у меня массив из 8 случайных чисел от 0 до 7. Мне нужно найти количество атакующих друг друга пар ферзей. Моя функция вроде считает, но у меня получается 72, хотя наибольшее количество - 56 (раз пары, то лучше 28, но мне для начала чтобы правильно считалось хотя бы). Может кто сталкивался с этой задачей и укажет на ошибку.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int N = 8;
int queenPosition[N] = {2, 7, 3, 4, 5, 0, 1, 6};
for (int i = 0; i < N; i++) 
        std::cout << queenPosition[i] << ' ';
 
    int tmp = 0;
    for (int j = 0; j < N - 1; j++) {
        for (int k = j + 1; k < N; k++) {
            if (queenPosition[k] == queenPosition[j]) tmp++; 
            if (k - j == abs(queenPosition[k] - queenPosition[j])) tmp++; 
        }
    }
    std::cout << "\n" << tmp << std::endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 14:34     Задача о восьми ферзях
Посмотрите здесь:

Ошибка в задаче о восьми ферзях - C++
Суть задачи заключается в том, что нужно суметь расставить на шахматной доске (8 х 8) восемь ферзей так, чтобы они не находились под боем...

Задача о 8 ферзях - C++
вывести в файл все 92 возможных варианта(в виде матрицы, где расположение ферзя означает единицу, а пустые клетки 0) расстановки 8 ферзей...

Задача о ферзях - C++
Пожалуйста, помогите решить задачу. Дана шахматная доска размерностью N на N ( 1&lt;= N &lt;=10). Необходимо вывести количество способов,...

Задача о 8 ферзях - C++
Уважаемые программисты помогите, отблагодарю как смогу.Листинг программы есть.Нужно сделать так чтобы возможных вариантов решения было 12. ...

Задача о 8 ферзях - C++
Условие ЗАДАЧи : В программе о восьми ферзях (рекурсивной) подсчитайте, сколько было сделано возвратов назад. Помогите, пожалуйста, в...

Задача о 8 ферзях - C++
Условие задачи: Решить задачу о восьми ферзях и вывести в текстовый файл несколько вариантов решения. Смог сделать только, чтобы...

Задача о пяти ферзях - C++
Добрый Вечер!!:) Помогите Пожалуйста решить задачу: Найдите такую расстановку пяти ферзей на шахматной доске, при которой каждое поле будет...

Задача о 8 ферзях рекурсивно - C++
нашел код, помогите сделать его рекурсивно а не поиском с возвратом позиций #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;time.h&gt; ...

Задача о 8 ферзях: сколько было сделано возвратов назад - C++
Помогите переделать код под условие задачи. Условие задачи: В программе о восьми ферзях (рекурсивной) подсчитайте, сколько было...

О 8 ферзях(Без рекурсии) - C++
Пытаюсь сделать задачу о 8 ферзях без рекурсии. Сделал набросок, но работает как то криво. В чем проблема? #include &lt;stdlib.h&gt; ...

НОД восьми чисел - C++
Ребята, помогите написать программу, которая будет находить НОД уже известных восьми чисел. Заранее благодарю:)

Запись последних восьми бит - C++
Добрый вечер! Подскажите, пожалуйста, как правильно записать 8-мь последних бит переменной типа int в переменную массива QByteArray,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
14.06.2014, 16:09     Задача о восьми ферзях #2
Недвно решалась подобная задача.
khaleesi
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 12
14.06.2014, 18:08  [ТС]     Задача о восьми ферзях #3
Цитата Сообщение от Mr.X Посмотреть сообщение
Недвно решалась подобная задача.
Задача то у меня решается. Я не пойму, почему у меня выходят такие цифры как 72. Откуда они?
Ответ Создать тему
Опции темы

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