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



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

Ko'p o'lchovli massivlar har bir o'lchovni kvadrat qavslarda ko'rsatish bilan beriladi, masalan:
int matr [6][8];
operator 6 satr va 8 ustundan iborat ikki o'lchovli massiv tavsifini beradi. Ko'p o'lchovli massivlar shunday joylashtiriladiki, keying elementga o'tishda tezroq oxirgi indeks o'zgaradi. Ko'p o'lchovli massiv elementiga kirish uchun uning barcha indekslari ko'rsatiladi, masalan, matr[i][j] yoki *(matr[i]+j) yoki *(*(matr+i)+j) usul bilan beriladi. Bu mumkin, chunki matr[i] massiv i-satri boshining adresi hisoblanadi.
Ko'p o'lchovli massivlar initsializatsiyalashda u yoki massivlardan massiv kabi bunda har bir massiv o'z katta qavslarga olinadi (bu holda chap o'lchamni tavsiflashda ko'rsatmaslik mumkin) yoki elementlar xotirada qanday joylashgan bo'lsa shu tartibda elementlar umumiy ro'yxati beriladi:
int mass2 [] [2] = { {1, 1}, {0, 2}, {1, 0} };
int mass2 [3] [2] = {1, 1, 0, 2, 1, 0};
Misol. Dastur butun sonli matritsada eng ko'p sondagi nolga teng elementlari bo'lgan satr nomerini aniqlaydi.
#include
int main( )
{
const int nstr = 4, nstb = 5; // massiv o'lchovi
int b[nstr] [nstb]; // massiv tavsifi
int i, j;
for (i = 0; ifor (j = 0; jint istr = -1, MaxKol = 0;
for (I = 0; iint Kol = 0;
for (j = 0; jif (Kol > MaxKol){istr = i; MaxKol = Kol;}
}
printf (" Boshlang'ich massiv: \n");
for (i = 0; ifor (j = 0; jprintf( "\n" );}
if (istr == -1)printf("Nol elementi yo'q");
else printf("Satr nomeri: %d", istr);
return 0;
}
Izlangan satr nomeri istr o'zgaruvchida, joriy (i-chi) satrdagi nol elementlar soni – Kol o'zgaruvchida, nol elementlar maksimal soni – MaxKol o'zgaruvchida saqlanadi. Massiv satrlar bo'yicha qaraladi, ularning har birida nol elementlar soni sanaladi (e'tibor bering Kol o'zgaruvchi har bir satrini ko'rish oldidan nollarga aylanadi). Eng ko'p son va tegishli satri nomeri eslab qolinadi.
Dinamik ko'p o'lchovli massivni yaratish uchun new amalda uning barcha o'lchamlarini ko'rsatish lozim (eng chap o'lcham o'zgaruvchi bo'lishi mumkin), masalan:
int nstr = 5;
int ** m = (int **) new int [nstr] [10];
Ikki o'lchovli massivga xotira ajratishning universal va xavfsiz usuli, uning ikkala o'lchami dasturni bajarish bosqichida berilganda, quyidagiga keltirilgan:
int nstr, nstb;
cout << " Satr va ustunlar sonini kiriting
cin >> nstr >> nstb;
int **a = new int *[ndtr]; // 1
for (int i = 0; ia[i] = new int [nstb]; // 3
… ,
1-operatorda intga “ko'rsatgichga ko'rsatgich” tipidagi o'zgaruvchi e’lon qilinadi va massiv satridagi ko'rsatgichlar massivga xotira ajratiladi (satr soni - nstr). 2-operatorda massivning har bir satriga xotira ajratish uchun sikl tashkil etiladi. 3-operatorda satrlar ko'rsatgichlar massiv har bir elementiga ikki o'lchovli massiv satriga ajratilgan xotira maydoni boshlanishi adresi beriladi. Har bir satr int tipidagi nstb elementlardan iborat (1.10-rasm).



1.10 – rasm. Ikki o'lchovli massivga xotira ajratish

Ixtiyoriy sondagi o'lchovlarga ega massivga xotirani tozalash delete[] amali yordamida bajariladi. Konstantga ko'rsatgichni yo'qotish mumkin emas.



Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   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