O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali


Download 393.45 Kb.
Sana10.12.2020
Hajmi393.45 Kb.
#163556
Bog'liq
algortim6



O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI

KI ” FAKULTETI 2 – BOSQICH ATS-11-19 GURUH TALABASI BOQIYEV AZIZXONNING MA’LUMOTLAR TUZULMASI VA ALGORITMLARI FANIDAN TAYYORLAGAN





Bajardi: Boqiyev A

Qabul qildi: Begulov O

QARSHI – 2020

T1 va T2 binar daraxtlar tengligini tekshiruvchi dastur tuzing (Daraxtlar teng deyiladi, agar ikkala daraxt mos uchlarining yozuv va kalitlari o’zaro teng bo’lsa).

#include

using namespace std;

bool b=1;

class node{

public:

int info;



node *left;

node *right;

};

//daraxtni ekranga xotirada qanday joylashganini ko'ratuvchi funksiya



void vizual(node *tree,int l){

int i;


if(tree!=NULL) {

vizual(tree->right,l+1);

for (i=1; i<=l; i++) cout<<" ";

cout<info<

vizual(tree->left,l+1);

}

}



void Tenglikka_tekshirish(node *T1, node *T2,int l){

int i;


if(T1!=NULL&&T2!=NULL){

Tenglikka_tekshirish(T1->right, T2->right, l+1);

b&=T1->info==T2->info;

//info maydonlari teng bo'lsa b=1 bo'ladi aks holda b=0 bo'ladi

Tenglikka_tekshirish(T1->left,T2->left,l+1);

}

}



int main(){

node *T1=NULL,*T2=NULL;

node *next1=NULL,*next2=NULL;

//Daraxtlar tengligini isbotlash uchun ulardagi elementlar soni teng bo'lishi kerak

//Shuning uchun ikkala daraxt uchun ham n sonini elementlar soni sifatida qaraymiz

int n,key; cout<<"Daraxtlar elementlari soni nechta?";cin>>n;

cout<<"Birinchi daraxt elementlarini kiriting: ";

for(int i=0;i

node *p=new node;

node *last=new node;

cin>>key;

p->info=key;

p->left=NULL;

p->right=NULL;

if(i==0){

T1=p;


next1=T1;

continue;

}

next1=T1;



while(1){

last=next1;

if(p->infoinfo){

next1=next1->left;

}

else{


next1=next1->right;

}

if(next1==NULL) break;



}

if(p->infoinfo) last->left=p;

else last->right=p;

}

cout<<"Ikkinchi daraxt elementlarini kiriting: ";



for(int i=0;i

node *p=new node;

node *last=new node;

cin>>key;

p->info=key;

p->left=NULL;

p->right=NULL;

if(i==0){

T2=p;

next2=T2;



continue;

}

next2=T2;



while(1){

last=next2;

if(p->infoinfo){

next2=next2->left;

}

else{


next2=next2->right;

}

if(next2==NULL) break;



}

if(p->infoinfo) last->left=p;

else last->right=p;

}

cout<<"Birinchi daraxt vizual ko'rinishi\n"; vizual(T1,0);



cout<<"Ikkinchi daraxt vizual ko'rinishi\n"; vizual(T2,0);

//ikkala daraxtning ham ko'rinishi

Tenglikka_tekshirish(T1,T2,0);

if(b==1){

cout<<"Daraxtlar teng";

} else cout<<"Daraxtlar teng emas";



}


Download 393.45 Kb.

Do'stlaringiz bilan baham:




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