Информатика и технология программирования


Задания к лабораторным работам




1. Используя фрагмент программы просмотра каталога, приведенный ниже, написать рекурсивную функцию поиска файлов с одинаковыми именами во всех подкаталогах диска. (Структуру данных, содержащую имена найденных файлов можно реализовать в виде глобального односвязного списка).


&#35include &#60stdio.h&#62
&#35include &#60dir.h&#62
&#35define FA_DIREC 0x10
void showdir(char *dir)
{ struct ffblk DIR; int done; char irname[40];
strcpy(dirname,dir);
strcat(dirname,"*.*");
done=findfirst(dirname,&#38DIR,FA_DIREC);
while(! done)
{ if (DIR.ff_attrib &#38 FA_DIREC)
{
if (DIR.ff_name[0] != '.')
printf("Подкаталог %s\n",DIR.ff_name);
}
else
printf("Файл %s%s\n",dir,DIR.ff_name);
done=findnext(&#38DIR);
} }
void main() showdir("E:\\a\\b\\"); }



2. Реализовать рекурсивный алгоритм построения цепочки из имеющегося набора костей домино.



3. Рекурсивная программа обхода дерева и изображения его вершин на экране. Для равномерного размещения вершин н экране программа должна "знать" для каждой вершины интервал позиций экрана, который выделен для данного поддерева и количество вершин в нем. Само дерево можно задать статически (инициализация).



4. Расстояния между городами заданы матрицей (Если между городами i,j есть прямой путь с расстоянием N, то элементы матрицы A(i,j) и A(j,i) содержат значение N, иначе 0 ). Написать программу поиска минимального пути для произвольной пары городов.



5. Расстояния между городами заданы матрицей (Если между городами i,j есть прямой путь с расстоянием N, то элементы матрицы A(i,j) и A(j,i) содержат значение N, иначе 0 ). Написать программу поиска минимального пути обхода всех городов без посещения дважды одного и того же города (задача коммивояжера).



6. Задача о восьми ферзях. Разместить на шахматной доске восемь ферзей так, чтобы они не находились " под боем" .



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




Начало  Назад  Вперед



Книжный магазин