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

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

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

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

Розробка алгоритму і програми для розв’язання задачі про покриття на множинах методом повного перебору

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

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

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

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Дискретна математика
Група:
КН-11
Коротко про документ

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

У роботі розроблено алгоритм і програму мовою C для розв’язання задачі про покриття на множинах методом повного перебору. Наведено блок-схему, результати тестування та повний лістинг програми.

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

  • Дискретна математика
  • Задача про покриття
  • Метод повного перебору
  • Алгоритмізація та програмування
  • Мова програмування C

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

  1. Мета роботи
  2. Порядок виконання роботи
  3. Блок-схема
  4. Приклади тестування програми
  5. Висновок
  6. Додаток: лістинг програми
Для кого:Студенти технічних спеціальностей та виші комп'ютерного спрямування.
Викладачі:Не вказано

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

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

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

Міністерство освіти і науки, молоді та спорту України Вінницький національний технічний університет Інститут Інформаційних Технологій та Комп’ютерної Інженерії Лабараторна робота № 1 з дисципліни: Дискретна математика. Тема: Розробка алгоритму і програми, для розв’язання задачі про покриття на множинах методом повного перебору м.Вінниця 2012 Мета: набути навиків застосування методу повного перебору для знаходження найкоротшого і мінімального покриття. Порядок виконання роботи: Ознайомитися з методом повного перебору. Отримати варіант індивідуального завдання для виконання. Розробити схему алгоритму побудови покриття методом повного перебору. Розробити програму побудови покриття методом повного перебору. Для заданого варіанту принести результати тестування програми у покроковому режимі. Зробити висновки про результати застосування цьго методу для побудови покриття. Завдання для виконання №25  3.Блок-схема Рисунок 1. 4. Приклади тестування програми ////// 5. Висновок: Побудовано алгоритм, блок-схему програми, розроблено програму що реалізує побудову покриття методом повного перебору для знаходження найкоротшого і мінімального покриття. 6.Додаток ( Лістинг програми що реалізує метод повного перебору для знаходження найкоротшого і мінімального покриття) #include <conio.h> #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int n=0, A[100][100], K[100], B[100]={0}; int l, k, x, y, i, j, q, w, e, r, temp, p; char ch[10] = "АБВГДЕЖ"; printf("Введiть кiлькiсть рядкiв (А-Ж): \n"); scanf("%d", &y); printf("Введiть кiлькiсть стовпчикiв(1-9):\n"); scanf("%d", &x); printf(" "); for(i=0; i<x; i++) { printf(" "); printf("%d", i+1); } printf(" Цiна"); for (i=0; i<y; i++) { printf("\n"); printf("%c", ch[i]); for(j=0; j<=x; j++) { printf(" "); scanf("%d", &A[i][j]); } } for(j=0; j<y; j++) { for(i=0; i<x; i++) { B[i]=0;n=0; } for(i=0; i<x; i++) { if(B[i]==0) B[i]+=A[j][i]; if(B[i]!=0) n++; } temp=A[j][i]; if(n==x) printf("\n %c ++%d", ch[j], temp); else printf("\n %c - ", ch[j]); } printf("\n\n\n"); for(j=0; j<y-1; j++) { for(k=j+1; k<y; k++) { p=0; for(i=0; i<x; i++) B[i]=0; n=0; for(i=0; i<x; i++) { if(B[i]==0) B[i] += A[j][i] + A[k][i]; if(B[i]!=0) n++; } for(i=0; i<x; i++) { if(B[i]>1) p++; } temp = A[j][i] + A[k][i]; if(n==x) printf(" %c%c ++%d -Повторення - %d\n", ch[j], ch[k], temp, p); else printf(" %c%c - \n", ch[j], ch[k]); } } printf("\n\n\n"); for(j=0; j<y-2; j++) { for(k=j+1; k<y-1; k++) { for(l=k+1; l<y; l++) { p=0; for(i=0; i<x; i++) B[i]=0; n=0; for(i=0; i<x; i++) { if(B[i]==0) B[i] += A[j][i] + A[k][i] + A[l][i]; if(B[i]!=0) n++; } for(i=0; i<x; i++) { if(B[i]>1) p++; } temp = A[j][i] + A[k][i] + A[l][i]; if(n==x) printf(" %c%c%c ++%d -Повторення - %d\n", ch[j], ch[k], ch[l], temp, p); else printf(" %c%c%c - \n", ch[j], ch[k], ch[l]); } } } printf("\n\n\n"); for(j=0; j<y-2; j++) { for(k=j+1; k<y-1; k++) { for(l=k+1; l<y; l++) { for(q=l+1; q<y; q++) { p=0; for(i=0; i<x; i++) B[i] = 0; n = 0; for(i=0; i<x; i++) { if(B[i]==0) B[i] += A[j][i] + A[k][i] + A[l][i] + A[q][i]; if(B[i]!=0) n++; } for(i=0; i<x; i++) { if(B[i] > 1) p++; } temp = A[j][i] + A[k][i] + A[l][i] + A[q][i]; if(n==x) printf(" %c%c%c%c ++%d -Повторення - %d\n", ch[j], ch[k], ch[l], ch[q], temp, p); else printf(" %c%c%c%c - \n", ch[j], ch[k], ch[l], ch[q]); } } } } printf("\n\n\n"); for(j=0; j<y-2; j++) { for(k=j+1; k<y-1; k++) { for(l=k+1; l<y; l++) { for(q=l+1; q<y; q++) { for(w=q+1; w<y; w++) { p=0; for(i=0; i<x; i++) B[i] = 0; n = 0; for(i=0; i<x; i++) { if(B[i]==0) B[i] += A[j][i] + A[k][i] + A[l][i] + A[q][i] + A[w][i]; if(B[i]!=0) n++; } for(i=0; i<x; i++) { if(B[i] > 1) p++; } temp = A[j][i] + A[k][i] + A[l][q] + A[q][i] + A[w][i]; if(n==x) printf(" %c%c%c%c%c ++%d -Повторення - %d\n", ch[j], ch[k], ch[l], ch[q], ch[w], temp, p); else printf(" %c%c%c%c%c - \n", ch[j], ch[k], ch[l], ch[q], ch[w]); } } } } } printf("\n\n\n"); for(j=0; j<y-2; j++) { for(k=j+1; k<y-1; k++) { for(l=k+1; l<y; l++) { for(q=l+1; q<y; q++) { p=0; for(w=q+1; w<y; w++) { for(e=w+1; e<y; e++) { p=0; for(i=0; i<x; i++) B[i] = 0; n = 0; for(i=0; i<x; i++) { if(B[i]==0) B[i] += A[j][i] + A[k][i] + A[l][i] + A[q][i] + A[w][i] + A[e][i]; if(B[i]!=0) n++; } for(i=0; i<x; i++) { if(B[i] > 1) p++; } temp = A[j][i] + A[k][i] + A[l][i] + A[q][i] + A[w][i] + A[e][i]; if(n==x) printf(" %c%c%c%c%c%c ++%d -Повторення - %d\n", ch[j], ch[k], ch[l], ch[q], ch[w], ch[e], temp, p); else printf(" %c%c%c%c%c%c - \n", ch[j], ch[k], ch[l], ch[q], ch[w], ch[e]); } } } } } } printf("\n\n\n"); for(j=0; j<y-2; j++) { for(k=j+1; k<y-1; k++) { for(l=k+1; l<y; l++) { for(q=l+1; q<y; q++) { for(w=q+1; w<y; w++) { for(e=w+1; e<y; e++) { for(r=e+1; r<y; r++) { p=0; for(i=0; i<x; i++) B[i]=0; n=0; for(i=0; i<x; i++) { if(B[i]==0) B[i] += A[j][i] + A[k][i] + A[l][i] + A[q][i] + A[w][i] + A[e][i] + A[r][i]; if(B[i]!=0) n++; } for(i=0; i<x; i++) { if(B[i] > 1) p++; } temp = A[j][i]+ A[k][i]+ A[l][i]+ A[q][i]+ A[w][i]+ A[e][i]+ A[r][i]; if(n==x) printf(" %c%c%c%c%c%c%c ++%d -Повторення - %d\n", ch[j], ch[k], ch[l], ch[q], ch[w], ch[e], ch[r], temp, p); else printf(" %c%c%c%c%c%c%c - \n", ch[j], ch[k], ch[l], ch[q], ch[w], ch[e], ch[r]); } } } } } } } getch(); return 0; }
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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