Объясните Код

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем ball, 29 дек 2013.

  1. ball

    ball New Member

    Регистрация:
    29 дек 2013
    Сообщения:
    1
    Симпатии:
    0
    Нужно расписать код, каждую строчку, что делает та или иная функция в данной программе и тд. Очень срочно, буду очень благодарен.

    Код (C++):
    #include <iostream>
    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;
    }
    }
     
Загрузка...
Похожие Темы - Объясните Код
  1. kalachal
    Ответов:
    2
    Просмотров:
    1.566
  2. smailvolf
    Ответов:
    1
    Просмотров:
    724
  3. unbarh
    Ответов:
    0
    Просмотров:
    1.252
  4. toxli
    Ответов:
    1
    Просмотров:
    1.607
  5. sasha465
    Ответов:
    2
    Просмотров:
    1.689

Поделиться этой страницей