O‘zbеkiston rеspublikasi oliy va o‘rta maxsus ta’lim vazirligi andijon davlat univеrsitеti axborot tеxnologiyalari va kompyutеr injiniringi fakultеti axborot tеxnologiyalari kafеdrasi kurs ishi


Download 348,95 Kb.
bet4/9
Sana04.02.2023
Hajmi348,95 Kb.
#1157660
1   2   3   4   5   6   7   8   9
Bog'liq
Xoliqnazarov Olimjon

Strukturalar massivlari.

Strukturalar massivlari oddiy masivlar kabi tasvirlanadi. Yuqorida kiritilgan strukturali tiplar asosida qo’yidagi strukturalar massivlarini kiritish mumkin:

Struct goods list[100];

Complex set [80];

Bu ta'riflarda list va set strukturalar nomlari emas, elemenlari strukturalardan iborat massivlar nomlaridir. Konkret strukturalar nomlari bo’lib set[0],set[1] va hokazolar hizmat qiladi. Konkret strukturalar elementlariga qo’yidagicha murojaat qilinadi: set[0].real– set massivi birinchi elementining real nomli komponentasiga murojaat.

Quyidagi misolda nuktaviy jismlarni tasvirlovchi strukturalar massivi kiritiladi va bu nuqtalar sistemasi uchun og’irlik markazi koordinatalari (xc,yc,zc) hisoblanadi. Bu koordinatalar qo’yidagi formulalar asosida hisoblanadi:

m=?mi; xc =(?ximi )/m; yc =(?yimi )/m; zc =(?zimi )/m;

#Include


struct particle {

double mass;

float coord [3];

};


struct particle mass_point[]={ 20.0, {2.0,4.0,6.0}

40.0, {6.0,-2.0,6.0}

10.0, {1.0,3.0,2.0}

};

int N;



struct particle center ={ 0.0, {0.0,0.0,0.0}

}

int I;



N=sizeof(mass_point)/sizeof(mass_point[0]);

For (I=0;I

{

center.mass+=mass_point[I].mass



center.coord[0]+= mass_point[I].coord[0]* mass_point[I].mass;

center.coord[1]+= mass_point[I].coord[1]* mass_point[I].mass;

center.coord[2]+= mass_point[I].coord[2]* mass_point[I].mass;

}

Cout<<(“\n Koordinatih tsentra mass:”);



for (I=0;I<3;I++)

{

center.coord[I]/=center.mass;



Cout<<(“\n Koordinata %d:%f”,(I+1),center.coord[I]);

}

}




STRUKTURALAR VA KO’RSATKICHLAR.

Strukturaga ko’rsatkichlar oddiy ko’rsatkichlar kabi tasvirlanadi:

Complex *cc,*ss; struct goods *p_goods;

Strukturaga ko’rsatkich ta'riflanganda initsializatsiya qilinishi mumkin. Misol uchun ekrandagi rangli nuktani tasvirlovchi qo’yidagi strukturali tip va strukturalar massivi kiritiladi. Strukturaga ko’rsatkich qiymatlari initsializatsiya va qiymat berish orqali aniqlanadi:


Struct point

{int color;

int x,y;


} a,b;

struct point *pa=&a,pb; pb=&b;

Ko’rsatkich orqali struktura elementlariga ikki usulda murojaat qilish mumkin. Birinchi usul adres bo’yicha qiymat olish amaliga asoslangan bo’lib qo’yidagi shaklda qo’llaniladi:

(* strukturaga ko’rsatkich).element nomi;

Ikkinchi usul mahsus strelka (->) amaliga asoslangan bo’lib qo’yidagi ko’rinishga ega:

strukturaga ko’rsatkich->element nomi

Struktura elementlariga qo’yidagi murojaatlar o’zaro tengdir:

(*pa).color==a.color==pa->color

Struktura elementlari qiymatlarini ko’rsatkichlar yordamida qo’yidagicha o’zgartirish mumkin:

(*pa).color=red;

pa->x=125;

pa->y=300;


Dasturda nuqtaviy jismni tasvirlovchi particle strukturali tipga tegishli m_point strukturasi aniqlangan bo’lsin. Shu strukturaga pinta ko’rsatkichini kiritamiz:

Struct particle * pinta=&m_point;

Bu holda m_point struktura elementlarini qo’yidagicha o’zgartirish mumkin:

Pinta->mass=18.4;

For (I=0;I<3;I++)

Pinta->coord[I]=0.1*I;



Download 348,95 Kb.

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




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