Aniq fanlar


Download 0.61 Mb.
bet14/20
Sana02.12.2023
Hajmi0.61 Mb.
#1780558
1   ...   10   11   12   13   14   15   16   17   ...   20
Bog'liq
O

#include
typedef struct
{
int x;
int y;
}Point;
Point KPoint(int x1, int y1)
{
Point p;
p.x = x1; p.y = y1;
return p;
}
typedef struct
{
Point p1, p2;
int a, b;
}Rectangle;

35
Rectangle KRectangle(int x1, int y1, int x2, int y2)


Rectangle r;
r.p1 = KPoint(x1, y1);
r.p2 = KPoint(x2, y2);
r.a = x2 - x1;
r.b = y2 - y1;
return r;
88
};
int Per(Rectangle p) { return 2 * (p.a + p.b); }
int Sq(Rectangle p) {return p.a * p.b; }
int main()
{
Rectangle X;
X = KRectangle(10, 20, 50, 80);
printf("Perimetr = %d\n", Per(X));
printf("Yuza = %d", Sq(X));
return 0;
}
Natija:
Perimetr = 200
Yuza = 2400
Perimetr = 10
Yuza = 6

35


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
36
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:


Download 0.61 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   ...   20




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