«kif» fakulteti Laboratoriya ishi Bajardi: swd015-L3 Abdivaitova D. Tekshirdi: Raxmanov Asqar



Download 408,35 Kb.
Sana29.11.2019
Hajmi408,35 Kb.
#27691
Bog'liq
mta

O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
«_____KIF____» fakulteti

Laboratoriya ishi
Bajardi: SWD015-L3

Abdivaitova D.

Tekshirdi: Raxmanov Asqar

Toshkent – 2019



4-labaratoriya ishi

DINAMIK MA’LUMOTLAR TUZILMASINI TADQIQ QILISH. CHIZIQLI BOG’LANGAN RO’YHATLAR.


Ishdan maqsad: Chiziqli, bir bog‘lamli ro‘yhatlar tuzilmasini o‘rganish va uni ustida amal bajarish algoritmlarini tadqiq qilish.

Динамик дастурлаш – маълум тузилмада оптимал бошкариш масаласини ечишнинг хисоблаш усулидир.

Динамик дастурлаш(ДД) куп улчамли масалани кичик этапларга декомпозиция килинади ва бир улчовли масалаларни ечиш оркали куп улчамли масалани ечилади. Бу усулда мураккаб масалани ечиш, бир нечта содда оптимизация масалаларни ечиш оркали бажарилади.

Динамик дастурлаш методи кулланилиши:

  • Бир-бирини тулдирувчи соддарок масалалар ёрдамида ифодалаш мумкин булган масалаларни ечиш;

  • Бу холда хисоблаш вакти бошка усулларга нисбатан анча кам булади, хисоблашлар жуда осон йул билан амалга оширилади.



1-variant

Elementni n pozitsiyaga siljitish dasturini tuzing.


Dastur kodi

#include

using namespace std;

struct Node

{

int number;

Node* next;

};

int k;

struct Node* head = NULL;

struct Node* lastPtr = NULL;

void qushish()

{

Node* ptr = new Node;

int numb = -1;

cout<<"son kiriting: ";

cin>>numb;

ptr->number = numb;

ptr->next = NULL;

if (head == 0)

{

head = ptr;

lastPtr = ptr;

}

lastPtr->next = ptr;

lastPtr = ptr;

}

void qushish1(int a)

{

Node* ptr = new Node;

int numb = -1;

ptr->number = a;

ptr->next = NULL;

if (head == 0)

{

head = ptr;

lastPtr = ptr;

}

lastPtr->next = ptr;

lastPtr = ptr;

}

void chop_etish()

{

Node* ptr = NULL;

if (head == 0)

{

cout<<"\t!!! ro'yhat bo'sh !!!\n\n";

}

cout<<"* * * * * ro'yhat * * * * *\n\n";
ptr = head;

while (1)

{

cout<
number<<" ";


if (ptr->next == 0) break;

ptr = ptr->next;}

cout<<"\n\n";}

int boshidan_el_uchirish(){

Node* p = new Node;

if (head == NULL)

{

cout<<"ro'yhat bo'sh";

}

else

{

p = head;

head = p->next ;

return p->number;

delete(p);

}

}

int main()

{

int n;

cout<<" Ro'yhat elementlari sonini kiriting:\n";

cin>>n;

cout<<" Ro'yhat elementlarini kiriting:\n";

for(int i=0;i

{

qushish();

}

chop_etish();

cout<<" n siljish pozitsiyasini kiriting: ";

cin>>k;

for(int i=0;i

{

int h=boshidan_el_uchirish();

qushish1(h);

}

cout<<" Ro'yhat "<

chop_etish();

}



Dastur natijasi:
\


16-variant

O’quvchilar familiyalari va imtihon biletlari raqamlaridan tashkil topgan 2 ta halqasimon ro’yhat berilgan. O’quvchilar tomonidan olingan bilet raqamlari aniqlansin. Imtihon biletlari uchun qayta hisoblash soni - E, o’quvchilar uchun esa - K.



Dastur kodi

#include

#include

#include

using namespace std;

struct Node

{

int number;

string ismi;

Node* next;

};

unsigned int n,k;

struct Node* head = NULL;

struct Node* lastPtr = NULL;

void qushish()

{

Node* ptr = new Node;

int numb = -1; string a;

cout<<" ismini kiriting: ";

cin>>a;

cout<<"o'quvchiga tushgan variant: ";

numb=rand()%k+1;

ptr->number = numb;

cout<
number<

ptr->ismi = a;

ptr->next = NULL;

if (head == 0)

{

head = ptr;

lastPtr = ptr;

}

lastPtr->next = ptr;

lastPtr = ptr;

}

void chop_etish()

{

Node* ptr = NULL;

if (head == 0)

{

cout<<"\t!!! ro’yhat bo’sh !!!\n\n";

}

cout<<"* * * * * ro’yhat * * * * *\n\n";
ptr = head;

while (1)

{

cout<
number<<" ";


cout<
ismi<<" \n";


if (ptr->next == 0) break;

ptr = ptr->next;}

cout<<"\n\n";}

void aniqla(string i){

Node* ptr = NULL;

if (head == 0)

{

cout<<"\t!!! ro’yhat bo’sh !!!\n\n";

}

//cout<<"* * * * * ro’yhat * * * * *\n\n";
ptr = head;

while (1)

{

if(i==ptr->ismi)

{

cout<
ismi<<"ga tushgan variant: ";


cout<
number; break;


}

ptr = ptr->next;}

cout<<"\n\n";}

int main()

{

string a;

cout<<" Ro'yhat o'quvchilari sonini kiriting:\n";

cin>>n;

cout<<" Variantlar sonini kiriting:\n";

cin>>k;

cout<<" O'quvchilar ma'lumotlarini kiriting:\n\n";

for(int i=0;i

{

cout<

}

//chop_etish();

cout<<" Kerakli varinatni o'quvchi familiyasini kiriting\n";

cin>>a;

aniqla(a);

}

Dastur natijasi:


\

Xulosa:



Biz bu laborotoriya ishda dinamik ma’lumotlar tuzilmasini tadqiq qilish.Chiziqli bog’langan ro’yhatlar haqida dastur tuzdik har kim o’z varianti bo’yicha misollarni ishladik. Dinamik dasturlash ma'lum tuzilmada оptimal boshqarish masalasini yechishning hisoblash usulidir.
Download 408,35 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish