Поиск по сайту:


Смотри также:

Работа с деревьями - Исходник.

Лабораторные # 1,2,3,4 - Исходник.

Работа с двоичным файлом - Исходник.

Карточная игра Девятка - Исходник.

Все новинки...

Исходник «Рекурсивные функции: Разместить на шахмотной доске максимальное количество коней так, чтобы они не находились друг у друга «под боем».»

Когда сдавалась работа2009
Где сдавалась работаНГТУ
Оценка5
Имя автораСергей
Файл: 2.36 КБ
Поделиться:

Задание: Разместить на шахмотной доске максимальное количество коней так, чтобы они не находились друг у друга «под боем».

#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
#include <time.h>

/* Прототипы используемых в программе функций */
void About(void);
void printsk (char* format,…);
int rastanov_shorse(int n_polya, /* Номер поля на доске куда будем ставить коня. */
int priznak, /* Признак ставить/не ставить коня в данное поле. */
struct pole_max pl); /* Передается копия шахмотной доски. */

int gran (int x, int y, struct pole_max pl); /* Проверяет можно ли поставить коня. */

int shors_max; /* Максимальное число коней на доске. */

/* Массив в котором будет храниться вариант расстановки максимального количества коней. */
struct pole_max {
int pole[8][8];
} pl_mx;

/*---------------------*/
/* Начало программы. */
void main ()
{
About (); // О программе, об авторе.
shors_max = 0;

/* Локальная структура с массивом для передачи в качестве параметра в функцию. */
struct pole_max pl;

/* Заполнение глобальной и локальной матрицы нулями. */
for (int i = 0; i < 8; i++)
	for (int k = 0; k < 8; k++)
   {
   	pl_mx.pole[i][k] = 0;
      pl.pole[i][k] = 0;
	}

pl.pole[0][0] = 1; 	/* Поставили первого коня. */
pl.pole[1][2] = -1;  /* Помечаем клетки куда он ходит. */
pl.pole[2][1] = -1;	/* Помечаем клетки куда он ходит. */
/* Измерение времени затраченного на поиск. */
clock_t before;
double elapsed;
before = clock();

rastanov_shorse (1, 1, pl);
rastanov_shorse (1, -1, pl);

elapsed = clock()-before;
printsk ("\nРеальные затраты времени на решение задачи, в секундах: ");
   printf ("%.4f\n\n", elapsed/CLOCKS_PER_SEC);

 

На данной странице представлены авторские программы. 
Эти лабораторные работы сдавались Новосибирского государственного технического университета по специальности 220400 "Программное обеспечение вычислительной техники и автоматизированных систем". 
Все работы написаны на языка 'Си'. Все программы проверялись на компиляторе Borland C++ 5.02