{i = n/2, srecmg (a, i), srecmg (a + i, ni), merge (a, i, n),}
}
/* merge - злиття двох підсписків */
# define MAX (x, y) ((y) <(x)? (X): (y))
void merge ( int * w, int l1, int l2)
{
int * a, * pa, * pb, i;
a = ( int *) calloc (l2 +2, sizeof (int));
pa = a; pb = a + l1 +1;
for (i = 0; i
for (i = l1; i
* pa = * pb = MAX (w [l1-1], w [l2-1]) +1;
pa = a; pb = a + l1 +1;
for (i = 0; i
w [i] = (* pa <* pb? * pa + +: * pb + +);
free (a);
}
# define ww 700
// ------- <Функція виклику різних методів> -------
file ()
{void qqsort (int *, int, int);
void srecmg (int *, int),
double simvol [2];
int s;
clock_t start, start2, end, end2; int t = 0;
int gener1 [ww], gener2 [ww];// Генератор випадкових чисел
randomize ();// Встановлює генератор в 0
for (s = 0; s
{Gener1 [s] = (rand ()% 100);// rand ()-функція генератора
gener2 [s] = Gener1 [s];
}
{ start = clock ();
qqsort (gener1, 0, ww-1);
end = clock ();
simvol [0] = ((end - start)/CLK_TCK);
}
{start2 = Clock ();
srecmg (gener2, ww);
end2 = clock ();
В
simvol [1] = ((end2 - start2)/CLK_TCK);
}
grafix (simvol);// Виклик функції побудови гістограм
windows (1);
return 0;
}
// ------------------- <Меню> --------------------
void main ()
{
char press;
windows (1);
while (1)
{
press = getch ();// Опитування клавіатури
switch (press)
{
case 59: help (); break;// Виклик помоши
case 60: file (); break;// Запуск гістограми
case 68: {//Вихід з програми
window (1, 1, 80, 25);
textbackground (BLACK);
clrscr ();
exit (1);
}}}}
В
Додаток 2
КОНТРОЛЬНИЙ ПРИКЛАД ВИКОНАННЯ ПРОГРАМИ
В
Як приклад візьмемо вихідний файл "Test.exe" і запустимо його. На екрані з'являється вікно собщения про наявність необхідних файлів. Для продовження виконання програми користувач натискає клавішу F 2 , в результаті чого на екрані з'являється гістограма, що характеризує швидкість виконання сортування масивів. Скориставшись клавішею Esc , користувач виходить з графічного режиму в режим відображення меню. При натисканні користувачем клавіші F 1 на екрані з'являється вікно допомоги яке містить назву програми, дані про розробника, призначення, функціональні клавіші використовуються в програмі, і можливі проблеми при її виполненіі.Нажатіе клавіші Esc призводить до закриття вікна допомоги. Для виходу з програми користувач повинен натиснути клавішу F 10 .
В
Приклад виведеної гістограми. <В