Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"



Download 333,2 Kb.
bet31/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   27   28   29   30   31   32   33   34   ...   90
Bog'liq
C majmua

tip & nom;
bu yerda tip – bu murojaat ko'rsatuvchi miqdor tipi, & - undan keying nom murojaat tipidagi o'zgaruvchi nomi ekanligini bildiruvchi murojaat operatori, masalan:
int kol;
int& pal = kol; // pal murojaat – kol uchun muqobil nom
const char& CR = '\n'; // konstantaga murojaat

Quyidagi qoidalarni eslab qoling.



  • O'zgaruvchi-murojaat, u funksiya parametric bo'lganda, extern kabi tavsiflanadi yoki sinfning ma'lumotlar maydoniga murojaat qilingandan tashqari hollarda uni tavsiflashda oshkora initsializatsiyalanishi lozim.

  • Initsializatsiyadan keyin murojaatga boshqa o'zgaruvchi berilmasligi lozim.

  • Murojaat tipi u murojaat etadigan miqdor bilan tipi bilan ustma-ust tushish lozim.

  • Murojaatlarga ko'rsatgichlar aniqlashgan murojaatlar massivlari va murojaatga murojaat yaratishga ruxsat berilmaydi.

Murojaat ko'proq funksiyalar parametrlari va funksiyalar qaytaruvchi qiymatlar tiplari sifatida qo'llaniladi. Murojaatlar adres bo'yicha, manzillar ajratish amalisiz uzatiladigan o'zgaruvchilarni funksiyalarda foydalanishga imkon beradi, bu esa dasturning o'qilishini yaxshilaydi.


Ko'rsatgichdan farqli murojaat xotirada qo'shimcha joy egallaydi va miqdorning boshqa nomi hisoblanadi. Murojaat ustida amal u murojaat qiladigan miqdorning o'zgarishiga olib keladi.


Massivlar
Oddiy o'zgaruvchilardan foydalanganda har bir xotira sohasiga ma'lumotlarni saqlash uchun o'z nomi mos keladi. Agar bir xil tipdagi miqdorlar guruhi bilan bir xil amallar bajarilsa, ularga bitta nom beriladi, tartib nomeri bo'yicha esa farq qilinadi. Bu amallar to'plamini sikllar yordamida kompakt yozishga imkon beradi. Chekli nomlangan bir xil tipli miqdorlar ketma-ketligi massiv deb ataladi. Dasturda massivning tavsifi oddiy o'zgaruvchi tavsifidan kvadrat qavslar nomidan so'ng massiv elementlari soni (o'lchami) mavjudligi bilan farq qiladi:
float a [10]; // 10 ta haqiqiy sondan iborat massiv tavsifi


DIQQAT
Massivlarni tavsiflashda kvadrat qavslar sintaksis elementi hisoblanadi, konstruksiyaning majburiy emasligiga ko'rsatma emas.

Massiv elementlari noldan nomerlanadi. Massivni tavsiflashda oddiy o'zgaruvchilardagi modifikatorlar (xotira sinfi, const va initsializator) ishlatiladi. Massivlar uchun initsializatsiyalovchi qiymatlar figurali qavslarga yoziladi. Elementlarga qiymatlar tartib bo’yicha beriladi. Agar massivda elementlar initsializatorlardan ko'p bo'lsa qiymatlari ko'rsatilmagan elementlar nolga aylantiriladi:


int b[5] = {3, 2, 1}; // b[0]=3, b[1]=2, b[2]=1, b[3]=0, b[4]=0
Massiv o'lchami uning elementlari tipi bilan birgalikda kompilyatsiya bosqichida bajariladigan massivni joylashtirish uchun zarur xotira hajmini aniqlaydi, shuning uchun o'lcham faqat butun musbat konstanta yoki konstant ifoda bilan berilishi mumkin. Agar massivni tavsiflashda o'lcham ko'rsatilmagan bo'lsa, initsializator bo'lishi lozim, bu holda kompilyator initsializatsiyalanuvchi qiymatlar soni bo'yicha xotira ajratadi.
Massiv elementiga kirish uchun uning nomidan keyin element nomeri (indeksi) kvadrat qavslarda ko'rsatiladi. Quyidagi misolda massiv elementlari yig'indisi hisoblanadi.
#include
int main ()
{
const int n = 10;
int i, sum;
int marks[n] = {3, 4, 5, 4, 4};
for (I = 0, sum = 0; icout << "Elementlar yig'indisi: " << sum;
return 0;
}
Massivlar o'lchamini misolda ko'rsatilgani kabi nomlangan konstantalar yordamida berish yaxshiroq, chunki bunda uni o'zgartirish uchun konstanta qiymatini faqat dasturning bir joyida to'g'rilash yetarli. E'tibor bering, massiv oxirgi elementi uni o'lchamini tavsiflashda berilgan nomerdan bittaga kichik nomerga ega.


DIQQAT
Massiv elementlariga murojaat etganda indeksning massiv chegarasidagi avtomatik nazorat-chiqishi amalga oshmaydi, bu xatolarga olib kelishi mumkin.

Misol. Butun sonli massivni tanlash usuli bilan saralash. Algoritm quyidagicha massivning eng kichik elementi tanlanadi va birinchi elementi bilan o'rin almashadi, so'ngra ikkinchisidan boshlab elementlar qaraladi va ulardan eng kichigi ikkinchi element bilan o'rin almashadi va h.k. n-1 marta (siklning oxirgi o'tishida zarurat bo'lganda massivning oxiridan oldingi va oxirgi elementlar o'rin almashadi).


#nclude
int main ()
{
const int n = 20; // massiv elementlari soni
int b[n]; // massiv tavsifi
int i;
for (i = 0; i> b[i]; // massivni kiriting
for (I = 0; i// qaralayotga elementlarda birinchisini eng kichik deb qabul qilamiz:
int imin = i;
// tartiblanmaganlarda minimal element nomerini izlang:
for (int j = i + 1; j// agar kichik element topilsa, uning nomerini eslab qolamiz:
if (b[j] < b[imin]) imin = j;
int a = b[i]; // elementlarni almashtiring
b[i] = b[imin]; // nomerlari bilan
b[imin] = a; // i va imin
}
// tartiblangan massivni chiqaring
for (i = 0; ireturn 0;
}
i va imin nomerli massiv elementlarini a buffer o'zgaruvchi orqali siklning i-chi o'tishida almashtirish jarayoni 1.9-rasmda tasvirlangan. Strelkalar oldidan raqamlar amallar tartibini bildiradi.


Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   90




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