1 > Statik ma'lumotlar tuzilmalarini o'rganish


Download 46.28 Kb.
bet1/2
Sana11.01.2023
Hajmi46.28 Kb.
#1088471
  1   2
Bog'liq
4444ddsfsgsdfsdfg


1 - - - > Statik ma'lumotlar tuzilmalarini o'rganish

Ishdan maqsad: Statik ma’lumotlar tuzilmasini o‘rganish va ularni tadqiq qilish.

Qo‘yilgan masala: C++ tilida statik toifadagi ma’lumotlar tuzilmalarini yaratish va ularga doir misollarning dasturini ishlab chiqish.

Ish tartibi:





Nazariy qism.
Ma’lumotlar tuzilmasi (MT)ni quyidagicha tasniflash mumkin.


Statik tuzilma deb dastur bajarilishi mobaynida elementlari soni yoki ular orasidagi bog’liqliklari o’zgaruvchan bo’lgan tuzilmaga aytiladi.Statik tuzilmalarni ko’rib chiqamiz.
<="" i=""><="" i=""><Yozuv va jadvallar. Yozuv bu turli toifadagi ma’lumotlarning tartibli ketma-ketligidir.Yozuv maydonlardan tashkil topadi. Har bir maydon o‘z nomi va o‘z toifasiga ega bolib, ular xotirada ketma-ket joylashadi. Yozuv uchun ajratiladigan xotira hajmi uning maydonlariga ajratilgan xotira hajmlari yig‘indisidan kelib chiqadi. Yozuvlar C++ da quyidagicha e’lon qilinadi.

struct Guruh{

int t_r;

char fio[30];

float bali;

} talaba1, talaba2;


Bu erda Guruh nomli nostandart toifa yaratilib, bu toifaga tegishli 2 ta yozuv e’lon qildik. Shu yozuvlarga tegishli maydonlarga murojaat quyidagicha amalga oshiriladi:

talaba1.fio=”Ahmad”;

talaba2.bali=1.5;
Bu erda ko‘rib turganingizdek,Guruh toifasida 2 ta yozuv yaratildi. Agar bu toifaga tegishli massiv yaratiladgan bo‘lsa, yani yozuvlar massividan jadval xosil bo‘ladi. 2 ta yozuvni solishtirishva o‘zlashtirish mumkin, bunda ulaning mos maydonlari solishtiriladi yoki o‘zlashtiriladi va maydonlarni alohida yozib ko‘rsatish shart emas.
Misol. 2 ta ishchilar ma’lumotlaridan iborat jadval berilgan.Har ikkala jadvalda ismlari takrorlangan ishchilardan yangi jadval hosil qiling.

# include

using namespace std;

int main(){

struct employer{

char fio[30];

char lavozim;

} ;


int n,m;

cout<<"1-bo‘lim ishchilar soni n=";cin>>n;

cout<<"2-bo‘lim ishchilar soni m=";cin>>m;

employer bir_bolim[n],ikki_bolim[m];

employer yangi[n+m];

for(int i=0;i<

cin>>bir_bolim[i].fio>>bir_bolim[i].lavozim;

}

for(int j=0;j



cin>>ikki_bolim[j].fio>>ikki_bolim[j].lavozim;

}

int k=0;cout<<"------------mana-------------"<



for(int i=0;i

string s,s1;

s=bir_bolim[i].fio;

for(int j=0;j

s1=ikki_bolim[j].fio;

if(s==s1){yangi[k++]=bir_bolim[i];yangi[k++]=ikki_bolim[j];}

}}

for(int i=0;i



cout<<"|"<

}


Download 46.28 Kb.

Do'stlaringiz bilan baham:
  1   2




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