2-mustaqil ishi. Chiziqli ma’lumotlar tuzilmalari. Statik va dinamik massivlar. Chiziqli konteynerlar va ularni qo‘llash. Reja


Download 32.63 Kb.
bet5/7
Sana03.11.2023
Hajmi32.63 Kb.
#1742613
1   2   3   4   5   6   7
Bog'liq
2-mustaqil ishi. Chiziqli ma’lumotlar tuzilmalari. Statik va din-fayllar.org

Jadvallar
Jadval - bu yozuvlarning chekli to’plamidir. Jadval ham statik tuzilma bo’lib, uning elementlari bir xil toifaga ega. Jadval yozuvlar massividan tashkil topadigan tuzilma hisoblanadi.
Uni yuqoridagi misoldan foydalanib dasturda quyidagicha idodalaymiz:
EnemySpaceShip name[20];
Bu yerda name nomli 20 ta elementdan iborat massiv yaratildi va uning elementlari EnemySpaceShip struktura ko’rinishida bo’ladi. Xar bir elementning
int x_coordinate;
int y_coordinate;
int weapon_power;
kabi maydonlari mavjud. Jadvalni bironta qatoriga murojaat massiv elementiga mos indeksi orqali va undan keyin aynan kerakli maydoniga (.) nuqta bilan murojaat amalga oshiriladi.





int x_coordinate


int y_coordinate


int weapon_power


Name[0]

Name[o]. x_coordinate=35

Name[o]. y_coordinate=15


Name[o].weapon_power =12


Name[1]

Name[1]. x_coordinate=45

Name[1]. y_coordinate=42


Name[1].weapon_power =3











Misol. Funksiyalar bilan ishlashda jadvallarni kirish argument sifatida ishlatishga to’g’ri keladi. Quyida ana shunday holatga misol keltiramiz.

#include
using namespace std;
struct Size
{
int breast;
int waist;
int hips;
};
struct WonderfulWoman
{
char name[64];
int age;
int height;
int weight;
Size volume;
bool engKnowledge;
};
void showData(const WonderfulWoman Obj[], int amount);
int main(){
const int amountOfGirl = 7;
WonderfulWoman Woman[amountOfGirl] = {};
for (int i = 0; i < amountOfGirl; i++){
cin.getline(Woman[i].name, 32);
cin >> Woman[i].age;
cin >> Woman[i].height;
cin >> Woman[i].weight;
cout << "english(1 - yes, 0 - no): ";
cin >> Woman[i].engKnowledge;
cin >> Woman[i].volume.breast;
cin >> Woman[i].volume.waist;
cin >> Woman[i].volume.hips;
cin.get();
cout << endl;
}
showData(Woman, amountOfGirl);
return 0;
}
void showData(const WonderfulWoman Obj[], int amount){
for (int i = 0; i < amount; i++){
cout << i + 1 << '\t' << Obj[i].name << '\t' << Obj[i].age<< '\t' << Obj[i].height << '\t' << Obj[i].weight << '\t'<< Obj[i].volume.breast << '/' << Obj[i].volume.waist << '/' << Obj[i].volume.hips<< '\t' << Obj[i].engKnowledge << endl;
}
}

Bu yerda bitta strukturaning ichidagi maydon o’z navbatida boshqa strukturaga tegishli o’zgaruvchi olingan. Bunday yozuvlarga murakkab yozuvlar deyiladi, ya’ni yozuvning elementlarini o’zi ham yozuv hisoblanadi. Bu holatda murakkab ierarxik MT vujudga keladi.

Jadval ustida massiv ustida bajariladigan amallar o’rinli, lekin jadval elementiga emas, elementi maydoniga qiymat beriladi.



  • Element kiritish, o’chirish



  • Element maydoni qiymatlarini o’zgartirish



  • Jadval elementlarini solishtirish, bunda 2 ta yozuvning mos maydonlari qiymatlari solishtiriladi.






Download 32.63 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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