O‘ZBEKISTON RESPUBLIKASI RAQAMLI
TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL XORAZMIY NOMIDAGI
TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI
MUSTAQIL ISH
Mavzu:
Strukturalar, birlashma va klasslarni e’lon qilish, ularni
qo‘llanilishiga doir 4tadan, jami 3ta dasturni izoxi bilan tuzing.
Bajardi:
Alisher Safarov
TOSHKENT – 2023
Strukturalar
Strukturalar turli toifadagi maydonlardan tashkil topgan yozuv hisoblanadi.
Strukturalarni e’lon qilish uchun
struct kalit so‘zi ishlatiladi. Undan keyin toifaga
nom beriladi va {} qavs ichida maydonlar toifalari va nomlari e’lon qilinadi.
Barcha
elementlari bir xil tipda bo'lgan massivdan farqli, struktura turli tipdagi elementlarni
o'z ichiga oladi. C++ tilida struktura sinf turi hisoblanadi va uning barcha xossalariga
ega, lekin ko'p hollarda strukturalarni C tilda qanday aniqlangan bo'lsa shunday
foydalanish yetarli:
struct [ tip_nomi ]
{
tip_1 element_1;
tip_2 element_2;
...
tip_n element_n;
} [ tavsiflanuvchilar_ro'yxati ]
Sintaksis
Dastur yozish jarayonida har xil ma’lumotlarni
gruhlashga ehtiyoj vujudga
kelishi mumkin. Masalan, qandaydir obyektlar nomlari va obyektning joylashuv
koordinatasini saqlash zaruruiyati bo’sin.Buni massivlar yordamida tashkillashtirish
mumkin:
int
x_coor[10];
int
y_coor[10];
string names[10];
Bir massivning har bir elementi boshqasi bilan bog’langan
, birortasini
o’zgartirilsa qolganlarini ham o’zgartirishga to’g’ri keladi.
Maluym otlar
ko’p
bo’lsa ularni birlashtirish dasturning murakkablashishiga olib kelishi mumkin.
Shuning uchun turli xil ma’lumotlarni birlashtirish uchun strukturalar ishlatiladi.
Strukturani e’lon qilish quydagicha:
struct
Car
{
Int x_coor;
Int y_coor;
String name;
};
Strukturani e’lon qilib, dasturda foydalanuvchi tomonidan aniqlangan
ma’lumotlar turidan standart turlar kabi foydalanish mumkin bo’ladi, ya’ni
struktura tipidagi o’zgaruvchini e’lon qilish quydagicha:structName
variableName;
Bu yerda : structName
—struktura nomi,variableName
—o’zgaruvchi nomi.x_coor, y_coor va name
—bizning strukturadagi maydonlar.
Strukturani e’lon qilishda ma’lumotlarni murakkab turi hosil qilinadi,
uning yordamida o’zida bir nechta qiymatlarni(masalan,
koordinatalar va
nom)
birlashtiradigan o’zgaruvchilarni yaratish mumkin bo‘ladi.
struct G{
char ch;
} talaba, talabalar[10];
Yaratilgan toifa bilan e’lon qilingan o‘zgaruvchi
talaba - yozuv hisoblanadi,
massiv esa
talabalar[10] - jadvalni tashkil etadi.
Yozuv va jadval yozuvi
maydoniga qiymat berish quyidagicha:
yozuv.maydon_nomi=qiymat;
Masalan:
talaba.ch=’a’;
Agar jadval yozuvi maydoniga qiymat beriladigan bo‘lsa, bunda jadval yozuv
massivi shaklida tashkil qilinadi va shu massiv elementiga
indeks bilan murojaat
orqali amalga oshiriladi:
Jadval_elementi[indeks].maydon_nomi=qiymat;
Ya’ni,
talabalar[i].ch=’a’;
Misol. Talabalar tartib raqami va ism-familiyasidan iborat jadval tuzib,
ma’lumotlarni kiritish va ekranga chiqarish dasturi.
#include
using namespace std;
int main(
{
struct Guruh{
int n;
char fio[30];
};
Guruh talaba[5];
for(int i=0;i<5;i++){
talaba[i].n=i+1;
cin>>talaba[i].fio;
}
for(int i=0;i<5;i++)
cout<
system("pause");
}
Bu yerda Guruh nomli nostandart toifa yaratildi va uning 2 ta maydoni mavjud:
talabaning tartib raqami n va familiyasi, ismi, otasining ismi uchun uzunligi 30
bo‘lgan satrli maydon fio[30].