Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭОМ 1 ЛАБА.doc
Скачиваний:
21
Добавлен:
14.02.2015
Размер:
117.25 Кб
Скачать

5. Пример решения задачи

Разработать подпрограммы работы по приоритетною очередью. Постановка запросов в очередь выполняется подряд в конец очереди, снятие - по приоритету . Очередь организовать на массиве.

5.1. Текст программы.

#include

#include

#include

#include

int och[512]; //очередь на 512 запросов

int point=-1; //указатель на очередь

int addel (int a) //добавление запроса в очередь

{

if (point<511) och[point++]=a;

else

{

cout << "enough queue\n"; //очередь переполнена

return 0;

}

return 1;

}

void delel (void) //чтение запроса из очереди

{

if (point>=0)

{

int max=och[0], nmax=0; // поиск запроса с максимальным параметром

for(int i=1; i < point; i++)

if (max < och[i]) max=och[i], nmax=i;

cout << "read " << max << endl;

point--; //сдвиг очереди

for(i=nmax; i < point; i++) och[i]=och[i+1];

}

}

void printoch (void) //содержимое очереди

{

if (point >= 0)

{

cout<<": ";

for (int i=0;i < point;i++)

cout << och[i] <<" ";

cout << "\n";

}

}

void main (void)

{

int op,f;

clrscr();

do

{

op=random(2); // 0-запись запроса, 1- чтение

f=random(15); //запрос

if (op) delel();

else if (! addel(f)) exit(1);

printoch ();

getch();

}

while (1);

}

5.2. Фрагмент результатов работы программы

. . .

12 5 3 0 14 6 1 14 6 2 3

read 14

12 5 3 0 6 1 14 6 2 3

read 14

12 5 3 0 6 1 6 2 3

12 5 3 0 6 1 6 2 3 7

read 12

5 3 0 6 1 6 2 3 7

Лабораторная работа 3

Тема: Оценка времени выполнения алгоритмов

1. Цель работы

Приобретение и закрепление навыков оценивания времени выполнения алгоритмов.

2. Прорабатываемые темы

Построение и анализ алгоритмов

3. Постановка задачи

Оценить время выполнения алгоритма, реализованного в ЛР №1. Сравнить с результатами замеров при разных значениях ХМ. Построить график зависимости T=F(XM)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]