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]);
}
}
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;
Do'stlaringiz bilan baham: |