9;язання
Реалізація обраного способу
Тестування реалізованого програмного забезпечення та висновки про його універсальності та функціональності
.10 Порядок контролю та приймання
Склав:
Найменування кафедриІсполнітельФамілія І.О.ПодпісьДатаЕВМ Студент гр. 220201Фокін А.Г.
Погоджено:
Найменування кафедриКонсультант по разделуДолжностьФамілія І.О.ПодпісьДата
Додаток 2. Вихідний код програми
# include "stdafx.h"
# include "glut.h"
# include
# include namespace std;
const int N = 40 ;//Розмір поляboard [N] [N] ;//Масив, що містить булеві знаеніе (true - кінь на дошці, і falce - кінь відсутній) Position// Структура з позиціями коня на дошці
{x; y;
}; solution ;//Вектор, що містить позиції коня
display ()// Функція побудови графічного інтерфейсу
{(GL_COLOR_BUFFER_BIT); int step = 480/N; (GL_QUADS) ;//Створення квадратів (int i = 0; i
{((i + j)% 2) f (0.5, 0.5, 0.5); f (0, 0, 0); int x = i * step; int y = j * step; f (x, y); f (x + step, y); f (x + step, y + step); f (x, y + step);
} ();
glPointSize (3); (GL_POINTS) ;//Створення точок (позначення коня на дошці)
glColor3f (0, 1, 0); (int i = 0; i
{int x = i * step + step/2; int y = j * step + step/2; f (x, y);
} (); (1);
glBegin (GL_LINE_STRIP) ;//Створення ліній, що пов'язують точки
for (vector :: iterator i = solution.begin (); i! = solution.end (); + + i)
{int x = i -> x * step + step/2; int y = i -> y * step + step/2; f (x, y);
} (); ();
} solve (int x, int y)
{[x] [y] = true ;//Розміщуємо коня на дошку
Position tmp = {x, y};. push_back (tmp);
display (); (solution.size () == N * N)// Якщо розмір масиву приймає значення N * N, то рішення знайдено і дошка повністю пройдена конем.
return true;
/*
.1.2.
... 4
.. x ..
... 6
.7.8.
*/
struct
{
int dx; dy;
} moves [] =// Масив варіантів ходу коня