Toshkent axborot texnologiyalari universiteti ma’lumotlar tuzilmasi va algoritmlar fanidan Mustaqil ish


Download 0.59 Mb.
Sana22.01.2023
Hajmi0.59 Mb.
#1108211
Bog'liq
Malumotlar maruza


O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
ma’lumotlar tuzilmasi va algoritmlar fanidan
Mustaqil ish

Mavzu:


Структуралар, бирлашма ва классларни эълон қилиш

Reja:
1.Struktura elementlariga murojaat.
2. Strukturalarni o’zlashtirish.
3. Strukturalar massivi.
4. Strukturaga ko’rsatkich.
Strukturalarga murojaat
struct complex {
double real;
double imag; }
struct tovar {
char name[20];
//nomlanishi
long price;
//ulgurji narxlar
float percent;
//narxlar %
int vol;
// tovar partiyasi
char date [9];
// tovar kirib kelgan vaqti
};

Aniq strukturalar ta’riflanganda massivlar kabi inisializasiya qilinishi mumkin. Masalan struct complex sigma = {1.3; 12.6}; struct tovar coats = {"pidjak", 40000, 7.5, 220, "12.01.97"); Bir xil tipdagi strukturalarga qiymat berish amalini qo’llash mumkin: struct complex alfa; alfa = sigma; Lekin strukturalar uchun solishtirish amallari aniqlanmagan. Strukturalar elementlariga quyidagicha murojaat qilish mumkin: Struktura_nomi.element_nomi. 'Nuqta amali' struktura elementiga murojaat qilish amali deyiladi. Bu amal qavs amallari bilan birga eng yuqori ustivorlikka ega.

struct complex alfa = {1.2, -4.5}, betta = {5.6, -7.8), sigma; sigma.real = alfa.real + betta.real; sigma.imag = alfa.imag + betta.imag; Aniq strukturalar elementlari dasturda alohida kiritilishi va chiqarilishi zarur. Quyidagi misolda xizmatchi strukturasi kiritiladi:

Quyidagi dastur yordamida birlashma xususiyatini tekshirish mumkin: #include enum paytype{CARD, CHECK}; struct { paytype ptype; union{ char card[4]; long check; }; }info; int main() { info.ptype = CHECK; info.check = 77; switch (info.ptype) { case CARD:printf("\nKarta bilan to'lash:%s", info.card); break; case CHECK:printf("\nChek bilan to'lash:%ld", info.check); break; } return 0;} Natija Chek bilan to'lash:77

Talaba haqidagi berilganlarni o’z ichiga oluvchi struktura turining e’lon qilinishi.

Strukturaga ko’rsatkich Strukturalarni ko’rsatkich va murojaat(&) vositasida funksiya argumenti sifatida uzatish mumkin. Quyida keltirilgan programma bo’lagida strukturani Talaba_Kiritish() funksiyasiga ko’rsatkich orqali, Talabalar_FISh() funksiyasiga murojaat orqali uzatishga misol keltirilgan.

Razryadli maydonlar ixtiyoriy butun tipga tegishli bo’lishi mumkin. Razryadli maydonlar adresini olish mumkin emas. Xotirada razryadli maydonlarni joylashtirish kompilyator va apparaturaga bog’liq. Razryadli maydonlar yordamida razryadli massivlar hosil qilish mumkin. Yuqorida ko’rilgan son hamma bitlarini chiqarish dasturini quyidagicha yozish mumkin:


Download 0.59 Mb.

Do'stlaringiz bilan baham:




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