DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота № 6 «Еврістичний алгоритм порогової величини»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра систем автоматизованого проектування

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Системи автоматизованого проектування ЗВТ
Група:
КН-24
Коротко про документ

Про що ця робота

У роботі реалізовано евристичний алгоритм порогової величини для кластеризації точок на площині мовою програмування C. Програма зчитує координати точок, визначає відстані та групує їх за заданим порогом.

У роботі розглядаються

  • Алгоритми кластеризації
  • Евристичні алгоритми
  • Мова програмування C
  • Обробка масивів даних
  • Геометричні обчислення
  • Структури даних

Зміст і розділи

  1. Постановка завдання
  2. Код програми
  3. Функція розрахунку відстані
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають програмування та алгоритми кластеризації.
Викладачі:Денисюк П. Ю.

Ключові поняття

евристичний алгоритмпорогова величинакластеризаціяструктура pointмасив точоквідстань між точкамимова Cконсольне введення-виведення

Частина тексту файла (без зображень, графіків і формул):

ІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР Лабораторна робота № 6 “ ЕВРІСТИЧНИЙ АЛГОРИТМ ПОРОГОВОЇ ВЕЛИЧИНИ” Перевірив: Денисюк П. Ю. Львів 2007 #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> #define n 10 struct point { int x,y; int cluster; }; int get_distance(point *, point *); void main (void) { sclrscr(); int bound; point mas[n]; printf("\nEnter the bound value \n"); scanf(" %d",&bound); printf("\n Enter points\n"); for (int i=0;i<n;i++) { scanf(" %d",&mas[i].x); scanf(" %d",&mas[i].y); mas[i].cluster=0; }; int k=1,j; for (i=0;i<n;i++) { if (mas[i].cluster==0) { mas[i].cluster=k; for (j=i;j<n;j++) if (mas[j].cluster==0) if (get_distance(&mas[i],&mas[j])<bound) mas[j].cluster=k; k++; } } k=1; for (i=0;i<n;i++) { if (mas[i].cluster==k) { printf("\n\n claster %d (%d;%d)",mas[i].cluster,mas[i].x,mas[i].y); for (j=i+1;j<n;j++) if (mas[j].cluster==k) printf(" (%d;%d)",mas[j].x,mas[j].y); k++; } } getch(); } int get_distance(point * p1, point * p2) { return sqrt((p1->x-p2->x)*(p1->x-p2->x)+(p1->y-p2->y)*(p1->y-p2->y)); }
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!