Abdurauf Ahmadjonov laboratoriya ishi -19 Mavzu: Navbat tuzilmasi. Ro’yxatlar yordamida navbatni amalga oshirish



Download 0,72 Mb.
bet7/7
Sana14.01.2022
Hajmi0,72 Mb.
#361809
1   2   3   4   5   6   7
Bog'liq
19 - 24 - lab

rand () funksiyasi : rand() funksiyasi kutubhonasiga tegishli bo’lib,u tasodifiy butun sonni tanlashda ishlatiladi

topshiriq:

2- Берилган х[]={6,-5,10,14,7,-12}ушбу массив элементларининг ўшиш тартибда сараловчи дастур тузинг.

Dasturning kod qismi:

#include

using namespace std;

int main()

{

int x[]={6,-5,10,14,7,-12};



int s=0, p=1, k=0;

for ( int I=0; I<6; I++)

{ if (x[I]>0)

{ k++; }}

cout<<"Musbat elementlar soni= "<

int t=0;


for ( int I=0; I<6; I++)

{ if (x[I]>0)

{ s+=x[I];

p*=x[I]; }}

cout<<"Musbat elementlar yig'indisi= "<

cout<<"Musbat elementlar ko’paytmasidisi= "<




int n;

cout << "Elementlar sonini kiriting: "<

cin>>n;

int a[n];

cout << "Massiv elementlarini kiriting: "<

for (int i = 0; i < n; i++)

{

cin>>a[i];



}

for (int i = n-1; i >= 1; i--)

{

for (int j = 0; j < i; j++) {



if (a[j] > a[j+1]) {

swap(a[j],a[j+1]);} } }

for (int i = 0; i < n; i++)

cout<

return 0;

}

Dastur natijasi:





XULOSA:

Men ushbu labaratoriyada bitta bo’g’langan ro’yxatlar bilan ishlashni o’rgandim.



LABORATORIYA ISHI – 23

Mavzu: Muvozanatlangan binar daraxtlar.

Ishdan maqsad. Ushbu laboratoriya ishida talabalar binar daraxtlar tushunchasi bilan tanishib chiqishi va inorder preorder hamda postorder ko’rinishdagi tartiblar bilan tanishib chiqishlari kerak

Qo’yilgan masala. Talabalar topshiriq variantiga mos ravishda binar darxtlar ustida berilgan amallar bilan ishlash ko’nikmasiga ega bo’lishlari kerak.

Topshiriq.





Dastur kodi:

#include

using namespace std;

struct Node

{

int data;



struct Node* left, *right;

Node(int data)

{

this->data = data;



left = right = NULL;

}

};



void printPostorder(struct Node* node)

{

if (node == NULL)



return;

printPostorder(node->left);

printPostorder(node->right);

cout << node->data << " ";

}

void printInorder(struct Node* node)



{

if (node == NULL)

return;

printInorder(node->left);

cout << node->data << " ";

printInorder(node->right);

}

void printPreorder(struct Node* node)



{

if (node == NULL)

return;

cout << node->data << " ";

printPreorder(node->left);

printPreorder(node->right);

}

int main()



{

struct Node *root = new Node(3);

root->left = new Node(2);

root->right = new Node(6);

root->left->left = new Node(7);

root->left->right = new Node(8);

root->left->right->left = new Node(4);

root->right->left = new Node(5);

root->right->right = new Node(9);

root->right->left->right = new Node(12);


cout << "\nBinar daraxtning INORDERI: \n";

printInorder(root);

cout << "\nBinar daraxtining PREORDERI: \n";

printPreorder(root);


cout << "\nBinar daraxtining POSTORDERI: \n";

printPostorder(root);


return 0;

}


Dastur natijasi:

Binar daraxtning INORDERI:

7 2 4 8 3 5 12 6 9

Binar daraxtining PREORDERI:

3 2 7 8 4 6 5 12 9

Binar daraxtining POSTORDERI:

7 4 8 2 12 5 9 6 3

Process returned 0 (0x0) execution time : 0.052 s

Press any key to continue.




XULOSA:

Men ushbu laboratoriya ishida binar daraxtlar tushunchasi bilan tanishib chiqdik va inorder preorder hamda postorder ko’rinishdagi tartiblar bilan tanishib chiqdik.



24-labaratoriya ishi.

Mavzu: Izlash va izchil qidirish.

Talabalar ma’lumotlaridan – FIO va adresdan iborat jadval berilgan. Binar qidiruvdan foydalanib TTJ da yashaydigan talabalar ro’yhatini hosil qiling.

Algoritm

1. Jadvalga n ta talaba FIO va adreslarini kiritamiz.

2. Binar qidiruvni jadvalning birorta maydonida amalga oshirish uchun jadvalni shu maydoni bo’yicha tartiblab olish kerak. Shuning uchun masalaning qo’yilishida adresi TTJ bo’lgan talabalarni topish kerakligi sababli jadval ma’lumotlarini adres maydoni bo’yicha saralab olamiz. Masalani yechishda to’g’ridan-to’g’ri tanlash orqali saralashdan foydalanilgan.

3. key kalitga mos elementni izlash chegaralarini aniqlab olamiz. Dastlab u [0,n] oralig’ida, ya’ni low=0,hi=n.

4. Agar low<=hi bo’lsa, oraliq o’rtasini hisoblaymiz. mid=(low+hi)/2

5. Agar mid o’rnida turgan talaba adresi TTJ bo’lsa, element topildi, search=mid va 7-qadamga o’tiladi, aks holda keyingi qadamga o’tiladi.

6. Agar “TTJ” so’zi alifbo bo’yicha mid o’rnida turgan talaba adresi qiymatidan kichik bo’lsa, izlash quyi chegarasi o’zgaradi, ya’ni mid o’rnida turgan elementdan bitta oldingi elementgacha olinadi, ya’ni hi=mid-1. Aks holda, yuqori chegara o’zgaradi – mid dan keyingi elementdan to oxirgi elementlar oralig’i olinadi, ya’ni low=mid+1. 4-qadamga o’tiladi.

7. Agar topilgan elementdan oldin turgan elementning (mid-1) ham adres maydoni TTJ bo’lsa, search--, ya’ni bitta oldingi elementga o’tamiz va shu qadamni boshidan bajaramiz. Aks holda keyingi qadamga o’tiladi.

8. Joriy (search ko’rsatayotgan) elementdan boshlab adresi “TTJ” ga teng bo’lgan talaba ma’lumotlarini ekranga chiqaramiz. Agar adresi “TTJ” dan farq qiladigan talaba chiqib qolsa, algoritm tugallanadi.

Dastur kodi:

#include

using namespace std;

int main(){

int n;cout<<"n=";cin>>n;

struct Guruh{

string fio,adres;

}talaba[n];

for(int i=0;i

cout<

cout<

int low = 0,hi = n-1,search=-1,q=0;

string key="TTJ";

while(low<=hi){

int mid = (low + hi) / 2;

q++;

if (key == talaba[mid].adres){



search = mid;

break;}


if (key < talaba[mid].adres)

hi = mid - 1;

else low = mid + 1;}

if(search!=-1) cout<<"qidirilayotgan el "<

turibdi va "<

else {cout<

system("PAUSE");

return EXIT_SUCCESS;}

while(talaba[search-1].adres==key) search--;

while(talaba[search].adres==key) {

cout<

"<

search++;

}

system("pause");



}

Dastur natija:





XULOSA:

Men ushbu labaratoriyada izlash va izchil taxlil qilish bo’yicha ma’lumotlarni keng o’zlashtirdim.

Download 0,72 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.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