Променевий пошук

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

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

Рік:
2007
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Програмування
Група:
КІ-14

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт Про виконання лабораторної роботи № 2 з програмування Тема: Променевий пошук . Мета:Навчитися реалізовувати програму променевого пошуку даних. Завдання:Нехай ми маємо певну статистику вживання англійських слів. І маємо відносну кількість їх вживання за одну годину. Наша програма повинна шукати задане слово і повертати його дані. Якщо програма немає даних на задане слово вона має про це повідомляти користувача. Програма #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> struct slova { char sl[10]; int kilkist; struct* synu[123]; }; typedef struct slova *tree; void Init(tree *ptr) { *ptr = NULL; } void NULLslov(tree ptr) { int i; for(i=0;i<123;i++) { ptr->synu[i]=NULL; } } tree posh0(tree ptr,int buf) { return ptr->synu[buf]; } tree init1 () { int i,j,buf; tree t1,p2,p3; char sliv[12][6]={"not","and","as","are","ar","bus","be","by","to","that","then","the"}; int m[12]={123,34,56,67,21,324,535,567,876,967,987,678}; Init(&t1); t1= malloc(sizeof(struct slova)); strcpy(t1->sl,"0"); NULLslov(t1); for(i=0;i<12;i++) { p2=t1; for(j=0;j<6;j++) { buf=sliv[i][j]; if(posh0(p2,buf)==NULL) { p3=malloc(sizeof(struct slova)); strcpy(p3->sl,sliv[i]); p3->kilkist=m[i]; NULLslov(p3) ; p2->synu[buf]=p3; break; } else { p2=p2->synu[buf]; } } } return t1; } void POSHUK(tree ptr,char new_s[10]) { int i,buf; for(i=0;strcmp(ptr->sl,new_s)!=0;i++) { buf=new_s[i]; ptr=ptr->synu[buf]; if(ptr==0)break; } if(ptr!=0) { printf(" SLOVO - %s ",ptr->sl); printf("\n VIDNOSNA CASTOTA VJYVANNIA PROTIAGOM HODYNY\n\t%d\n",ptr->kilkist); } else printf("\nDanogo slova nema v poslidovnosti!!!\n"); } void main() { int i=0; tree derevo; char slovo[10]; derevo=init1(); printf("\nPrograma mistyti naibilish vgyvani English slova"); do { printf("\nVvedit 0 - zakincyty programy\n\n\t 1 - poshuk slova --"); scanf("%d",&i); if(i==1) { printf("\nVvedit slovo dlia poshuku: "); printf("\n\t( z maloi bukvy )\n\t"); scanf("%s",slovo); POSHUK(derevo,slovo); } }while(i==1 ); return 0; } Результат:  Висновок: На дані лабораторні роботі ми навчилися опрацьовувати великі об'єми інформації. Набули навик реалізації променевого пошуку.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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