Алгоритми розв'язання лабіринтних та ігрових задач
Код програми. For (i=14; i>10; i—). For (i=14; i>10; i—). For (i=14; i>10; i—). For (i=14; i>10; i—). For (i=14; i>10; i—). For (i=14; i>10; i—). Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas); Printf («%d «, mas… Читати ще >
Алгоритми розв'язання лабіринтних та ігрових задач (реферат, курсова, диплом, контрольна)
Міністерство освіти і науки України Національний університет «Львівська політехніка»
Кафедра автоматизованих систем управління Звіт до розрахункової роботи з теорії алгоритмів
" Алгоритми розв’язання лабіринтних та ігрових задач"
Виконала:
ст. групи КН-21
Прач Ю.О.
Прийняв:
Цимбал Ю.В.
Львів-2011
Мета:
ь навчитися розробляти алгоритми лабіринтних та ігрових задач.
Індивідуальне завдання:
17.(Прач) Числа від 1 до 15 розставлені в клітинках на дошці, як зображено на рисунку. Використовуючи одну вільну комірки (в центрі), перемістіть числа, щоб розставити їх у такому ж порядку, але з числом 15 в центральній комірці.
Алгоритм Рухаємо числа і пробуємо різні варіанти розміщень, але з одною умовою — 14, 15 і 1 завжди мають бути в особливих позиціях. Інакше задача не буде мати розв’язку.
Код програми
ігровий задача інформація стратегія
#include
#include
#include
#include
intmas[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0};
intmain ()
{
setlocale (LC_CTYPE, «ukr»);
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
inttemp, i;
printf («Початковий стан: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 1-а перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>10; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Перша перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 2-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Друга перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 3-я перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>10; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Третя перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 4-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Четверта перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 5-а перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>10; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («П'ята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 6-а перестановка
temp=mas[15];
mas[15]=mas[5];
for (i=5; i>0; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Шоста перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 7-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Сьома перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 8-а перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>10; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Восьма перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 9-а перестановка
temp=mas[15];
mas[15]=mas[5];
for (i=5; i>0; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Дев'ята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 10-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Десята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 11-а перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>10; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Одиннадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 12-а перестановка
temp=mas[15];
mas[15]=mas[5];
for (i=5; i>0; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Дванадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 13-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Тринадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 14-а перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>10; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Чотирнадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 15-а перестановка
temp=mas[15];
mas[15]=mas[5];
for (i=5; i>0; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («П'ятнадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 16-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Шістнадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 17-а перестановка
temp=mas[15];
mas[15]=mas[5];
for (i=5; i<10; i++)
mas[i]=mas[i+1];
mas[i]=mas[15];
mas[15]=temp;
printf («Сімнадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 18-а перестановка
temp=mas[15];
mas[15]=mas[0];
mas[0]=mas[14];
for (i=14; i>5; i—)
mas[i]=mas[i-1];
mas[i]=mas[15];
mas[15]=temp;
printf («Вісімнадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 19-а перестановка
temp=mas[15];
mas[15]=mas[10];
for (i=10; i<14; i++)
mas[i]=mas[i+1];
mas[i]=mas[0];
mas[0]=mas[15];
mas[15]=temp;
printf («Дев'ятнадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 20-а перестановка
temp=mas[15];
mas[15]=mas[0];
for (i=0; i<5; i++)
mas[i]=mas[i+1];
mas[i]=mas[15];
mas[15]=temp;
printf («Двадцята перестановка: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («n»);
// 21-а перестановка
temp=mas[15];
mas[15]=mas[10];
int j=10;
while (mas[0]≠1)
{
for (i=j; i>0; i—)
mas[i]=mas[i-1];
mas[0]=mas[14];
for (i=14; i
mas[i]=mas[i-1];
j=i;
}
mas[14]=0;
printf («Кінцевий результат: n»);
for (i=0; i<16; i++)
printf («%d «, mas[i]);
printf («nЗадача розв’язана!n»);
system («pause»);
return 0;
}
Приклад виконання: