Reja Massivlar va strukturalar Strukturani uzatish Strukturalarda korsatkich

  • Slides: 15
Download presentation

Reja: • Massivlar va strukturalar • Strukturani uzatish • Strukturalarda ko‘rsatkich

Reja: • Massivlar va strukturalar • Strukturani uzatish • Strukturalarda ko‘rsatkich

 • Struktura deb, har hil toifadagi ma`lumotlarning cheklangan to`plamiga aytiladi. Strukturalar – maydon

• Struktura deb, har hil toifadagi ma`lumotlarning cheklangan to`plamiga aytiladi. Strukturalar – maydon deb ataluvchi chekli sondagi hadlardan tashkil topadi. Struktura nimaligini tushinish uchun quyidagi misolni ko`rib chiqamiz.

Massivlar va strukturalar • Massivlarni strukturalar elementi sifatida ishlatilishi xech qanday kiyinchilik tug‘dirmaydi. Biz

Massivlar va strukturalar • Massivlarni strukturalar elementi sifatida ishlatilishi xech qanday kiyinchilik tug‘dirmaydi. Biz yuqorida simvolli massivlardan foydalanishni ko‘rdik. Quyidagi misolda fazoda berilgan nuqtaviy jismni tasvirlovchi komponentalari jism massasi va koordinatalaridan iborat struktura kiritilgan bo‘lib, nuqtaning koordinatalar markazigacha bo‘lgan masofasi hisoblangan.

 • #include <iostream> • #include <math. h> • using namespace std; • struct

• #include <iostream> • #include <math. h> • using namespace std; • struct • { • double mass; • float coord[3]; • } point = {12. 3, {1. 0, 2. 0, -3. 0}};

 • int main() • { • int i; • float s=0. 0; •

• int main() • { • int i; • float s=0. 0; • for (i=0; i<3; i++) • s+=point. coord[i]*point. coord[i]; • cout<<"n masofa="<<sqrt(s); return 0; }

 • Strukturani uzatish Struktura elementlarini uzatish oddiy ma’lumot turlarida e’lon qilingan o‘zgaruvchilar kabi

• Strukturani uzatish Struktura elementlarini uzatish oddiy ma’lumot turlarida e’lon qilingan o‘zgaruvchilar kabi e’lon qilingani singari, o‘zgaruvchilarning ustida bajariladigan amallar ham strukturali o‘zgruvchilarning ustida ham bajariladi. O‘zgaruchchilarning bir - biriga o‘z qiymatini uzatishda o‘zgaurvchilarning tiplari bir xilligi axamiyatga ega bo‘lgani kabi bir turlagi strukturali o‘zgaruvchilarning qiymatlari biriga uzatiladi. 8

Bunda strukturaning har bir elementlarining qiymatlari o‘zlashtirayotgan strukturali o‘zgaruvchining har bir elementiga uzatiladi. Masalan,

Bunda strukturaning har bir elementlarining qiymatlari o‘zlashtirayotgan strukturali o‘zgaruvchining har bir elementiga uzatiladi. Masalan, struct complex { float re; float im; }; . . . complex a={0. 0, 2. 3}, b; b=a;

Strukturalarda ko‘rsatkich Strukturalar bilan ishlash jarayonida strukturaga qo‘yiladigan ko‘rsatgichlar bilan ishlashga to‘g‘ri keladi. Birinchi

Strukturalarda ko‘rsatkich Strukturalar bilan ishlash jarayonida strukturaga qo‘yiladigan ko‘rsatgichlar bilan ishlashga to‘g‘ri keladi. Birinchi navbatda ko‘rsatgich qanday amalligini bilib olishimiz kerak bo‘ladi. Ko‘rsatkich - xotira uyasining unikal adresini saqlaydigan o‘zgaruvchi.

 • Ko‘rsatkich operativ xotiradagi biron-bir o‘zgaruvchi mavjud bo‘lishi mumkin bo‘lgan biron-bir joyni belgilaydi.

• Ko‘rsatkich operativ xotiradagi biron-bir o‘zgaruvchi mavjud bo‘lishi mumkin bo‘lgan biron-bir joyni belgilaydi. Ko‘rsatkichlarning qiymatlarini o‘zgartirish, turli variantlarda qo‘llash mumkinki, bu dasturning moslashuvchanligini oshiradi. Ko‘rsatkich odatda tipga ega bo‘lib quyidagicha e’lon qilinadi: • <turning nomi>*<ko‘rsatkichning nomi>=<dastlabki qiymat> • Misol uchun: • int *pr; • char *alfa;

 • Agar strukturaning biron - bir elementini ko‘rsatgich bilan aniqlanishi mumkin. Bu quyidagi

• Agar strukturaning biron - bir elementini ko‘rsatgich bilan aniqlanishi mumkin. Bu quyidagi misolda ko‘rib chiqamiz. Misol sifatida univesitet yoki institut talabasi misolida ko‘ramiz. Yaratilayotgan strukturamizda quyidagi maydonlar mavjud bo‘lsin. Talabaning familiyasi, ismi, tug‘ilgan kuni, oyi va yili, talabalning og‘irligi va bo‘yi (metrda).

 • struct Talaba{ • char* familyasi; • char* ismi; • int kun; •

• struct Talaba{ • char* familyasi; • char* ismi; • int kun; • int oy; • int yil; • float massa; • float buyi; • }

 • #include <iostream> • #include <string. h> • using namespace std; • struct

• #include <iostream> • #include <string. h> • using namespace std; • struct Talaba • { • char* familyasi; • char* ismi; • int kun; • int oy; • int yil; • float massa; • float buyi; };

 • int main() • { • Talaba t; • t. familyasi = "Aliyev";

• int main() • { • Talaba t; • t. familyasi = "Aliyev"; • t. ismi = "Maqsud"; • t. kun = 8; • t. oy = 8; • t. yil = 1992; • t. massa = 62; • t. buyi = 1. 72; • printf("FIOsi: %s %sn. TY: %i-%i-%in. Og'irligi: %4. 2 f kgn. Buyi: %4. 2 f m", t. familyasi, t. ismi, t. kun, t. oy, t. yil, t. massa, t. buyi); • return 0; }