1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


Strukturalarga ko’rsatkichlar ustida amallar



Download 4,47 Mb.
bet62/89
Sana15.04.2022
Hajmi4,47 Mb.
#553102
1   ...   58   59   60   61   62   63   64   65   ...   89
Bog'liq
C kitob TAYYOR

Strukturalarga ko’rsatkichlar ustida amallar.

Strukturalarga ko’rsatkichlar ustida amallar oddiy ko’rsatkichlar ustida amallardan farq qilmaydi. Agar ko’rsatkichga strukturalar massivining biror elementi adresi qiymat sifatida berilsa, massiv buyicha uzluksiz siljish mumkin buladi. Misol tariqasida kompleks sonlar massivi summasini hisoblash masalasini ko’rib chiqamiz:


#include
void main()
{
sruct complex
{float x;
float y;} array[]={1.0,2.0,3.0,-4.0,-5.0,-6.0,-7.0,-8.0};
struct complex summa={0.0,0.0};
struct complex *point=&array[0];
int k,I;
k=sizeof(array)/sizeof(array[0]);
for(i=0;i{
summa.x+=point->x;
summa.y+=point->y;
point++;
}
Cout<<(“\n Summa: real=%f”,\t imag=%f”,summa.x,summa.y);
}

Dastur bajarilishi natijasi:


Summa: real=-8.000000, imag=-16.000000
Strukturalar va funktsiyalar.

Strukturalar funktsiyalar argumentlari sifatida yoki funktsiya qaytaruvchi qiymat kelishi mumkin. Bundan tashqari ikkala holda ham strukturaga ko’rsatkichlardan foydalanish mumkindir. Misol uchun kompleks son modulini hisoblash dasturini keltiramiz:


Double modul(complex a)
{return sqrt(a.real*a.real+a.imag*a.imag}
Ikki kompleks son yigindisini hisoblash funktsiyasi:
Complex add(complex a, complex b)
{ complex c;
c.real=a.real+b.real;
c.imag=a.imag+b.imag;
return c;
}
Bu funktsiyani ko’rsatkichlar yordamida qo’yidagicha yozish mumkin
Complex* add(complex* a, complex* b)
{ complex* c; c=(complex*)malloc(sizeof(complex));
c->real=(*a).real+(*b).real;
c->imag=(*a).imag+(*b).imag;
return c;
}
Bu funktsiya complex tipidagi dinamik ob'ekt yaratib adresini qaytaradi. Dasturda bu ob'ekt uchun ajratilgan joyni ozod qilish maqsadga muvofiq. Bu funktsiyaga dasturda qo’yidagicha murojaat qilish mumkin:
Complex a={0.1,-0.3},b={0.2,-0.5};
Complex* pa; pa=add(&a,&b);

Download 4,47 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   89




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish