Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

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

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

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

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

Рік:
2019
Тип роботи:
Лабораторна робота
Предмет:
Паралельні та розподілені обчислення

Частина тексту файла

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи №3 з дисципліни: “Паралельні та розподілені обчислення” на тему: “ МОЖЛИВОСТІ ВИКОРИСТАННЯ ПАРАЛЕЛЬНИХ АЛГОРИТМІВ ” Мета: Дослідити можливості розв’язання різноманітних задач за допомогою паралельних алгоритмів. Навчитися виділяти незалежні гілки обчислень та виконувати їх паралельно. Завдання В полі 8*8 кліток зображено кілька прямокутників, кожен з яких складається з кліток, різні прямокутники не перетинаються і не доторкаються один до одного. Задана квадратна матриця порядку 8, в якій елемент рівний нулю, якщо відповідна клітина належить прямокутнику і відмінний від нуля, в іншому випадку. Визначити кількість прямокутників. Початковими даними вважати матрицю елементів, яка повинна вводитися під час виконання програми. Графічно відобразити вхідні дані. Текст програмної реалізації #define _CRT_SECURE_NO_WARNINGS #include <Windows.h> #include <conio.h> #include <stdio.h> #include "iostream" #include "fstream" #include <time.h> #include "iomanip" #include <stdlib.h> #include <iterator> #include <list> using namespace std; char i, j, matrix[8][8]; void printmatrix() { int i, j; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { cout << matrix[i][j]; cout << " "; } cout <<" "<< endl; } cout << " " ; } int main() { for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { cin >> matrix[i][j]; } } printmatrix(); int GlobalX, GlobalY, counter = 0, cx, cy; while (1) { for (GlobalY = 0; GlobalY < 8; GlobalY++) { for (GlobalX = 0; GlobalX < 8; GlobalX++) { if (matrix[GlobalY][GlobalX] == 0x31)break; } if (matrix[GlobalY][GlobalX] == 0x31)break; } if (matrix[GlobalY][GlobalX] != 0x31)exit(0); while ((GlobalX != 0) && (matrix[GlobalY][GlobalX - 1] != 0x30))GlobalX--; while ((GlobalY != 0) && (matrix[GlobalY - 1][GlobalX] != 0x30))GlobalY--; j = GlobalX; i = GlobalY; cx = 0; cy = 0; while (matrix[i][j] == 0x31) { cx++; j++; } j = GlobalX; while (matrix[i][j] == 0x31) { cy++; i++; } for (i = 0; i < cy; i++) { for (j = 0; j < cx; j++) { matrix[GlobalY + i][GlobalX + j] = 0x30; } } counter++; printmatrix(); printf("\n\ncount=%d\n\n", counter); _getch(); } } Результат виконання програми /// Рис. 1 Результат виконання програми Висновок. На даній лабараторній роботі я навчився розв’язувати задачі за допомогою паралельних алгоритмів. Програма може пряцювати з кожним прямокутником як незалежним об’єктом і рахувати їх немовби паралельно.
Антиботан аватар за замовчуванням

16.10.2020 13:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини