Ko’rsatkichlarning eng muhim tushunchalari (Massiv)


Download 71.67 Kb.
Sana10.02.2023
Hajmi71.67 Kb.
#1184595
Bog'liq
22. Jasur aka Ko’rsatkichlarning eng muhim tushunchalari Massiv


Ko’rsatkichlarning eng muhim tushunchalari (Massiv)
Reja:
1. Bir o‘lchovli massivlar.
2. Ko‘p o‘lchamli massivlar.
3. Satrlar massiv sifatida.
4. Satrlar bilan ishlovchi funksiyal
Massiv tushunchasi. Massiv bu bir tipli nomerlangan ma’lumotlar jamlanmasidir. Massiv indeksli o‘zgaruvchi tushunchasiga mos keladi. Massiv ta’riflanganda tipi, nomi va indekslar chegarasi ko‘rsatiladi. Masalan type turidagi length ta elementdan iborat a nomli massiv shunday e’lon qilinadi:
type a[length];
Bu maxsus a[0], a[1], ..., a[length -1] nomlarga ega bo‘lgan type turidagi o‘zgaruvchilarning e’lon qilinishiga to‘g‘ri keladi.
Massivning har bir elementi o‘z raqamiga - indeksga ega. Massivning x-nchi elementiga murojaat indekslash operatsiyasi yordamida amalga oshiriladi:
int x=...; //butun sonli indeks
TYPE value=a[x]; //ch-nchi elementni o‘qish
a[x]=value; //x-yxb elementga yozish
Indeks sifatida butun tur qiymatini qaytaradigan har qanday ifoda qo‘llanishi mumkin: char, short, int, long. C++ da massiv elementlarining indekslari 0 dan boshlanadi (1 dan emas), length elementdan iborat bo‘lgan massivning oxirgi elementining indeksi esa - bu length -1 (length emas). Massivning int z[3] shakldagi ta’rifi, int tipiga tegishli z[0],z[1],z[2] elementlardan iborat massivni aniqlaydi.
Massiv chegarasidan tashqariga chiqish (ya’ni mavjud bo‘lmagan elementni o‘qish/yozishga urinish) dastur bajarilishida kutilmagan natijalarga olib kelishi mumkin. SHuni ta’kidlab o‘tamizki, bu eng ko‘p tarqalgan xatolardan biridir.
Agar massiv initsializatsiya qilinganda elementlar chegarasi ko‘rsatilgan bo‘lsa , ro‘yxatdagi elementlar soni bu chegaradan kam bo‘lishi mumkin, lekin ortiq bo‘lishi mumkin emas.
Misol uchun int a[5]={2,-2}. Bu holda a[0] va a[1] qiymatlari aniqlangan bo‘lib, mos holda 2 va –2 ga teng. Agar massiv uzunligiga qaraganda kamroq element berilgan bo‘lsa, qolgan elementlar 0 hisoblanadi:
int a10[10]={1, 2, 3, 4}; //va 6 ta nol
Agar nomlangan massivning tavsifida uning o‘lchamlari ko‘rsatilmagan bo‘lsa, kompilyator tomonidan massiv chegarasi avtomatik aniqlanadi:
int a3[]={1, 2, 3};
Bir o‘lchamli massivlarni funksiya parametrlari sifatida uzatish. Massivdan funksiya parametri sifatida foylalanganda, funksiyaning birinchi elementiga ko‘rsatkich uzatiladi, ya’ni massiv hamma vaqt adres bo‘yicha uzatiladi. Bunda massivdagi elementlarning miqdori haqidagi axborot yo‘qotiladi.
Funksiyaga massiv boshlanishi uchun ko‘rsatkich uzatilgani tufayli (adres bo‘yicha uzatish), funksiya tanasining operatorlari hisobiga massiv o‘zgarishi mumkin.
Funksiyalarda bir o‘lchovli sonli massivlar argument sifatida ishlatilganda ularning chegarasini ko‘rsatish shart emas.
Funksiyalarda bir o‘lchovli sonli massivlar argument sifatida ishlatilganda ularning chegarasini ko‘rsatish shart emas.
Ko‘p o‘lchovli massivlar ta’rifi. Ikki o‘lchovli massivlar matematikada matritsa yoki jadval tushunchasiga mos keladi. Jadvallarning insializatsiya qilish qoidasi, ikki o‘lchovli massivning elementlari massivlardan iborat bo‘lgan bir o‘lchovli massiv ta’rifiga asoslangandir.
Misol uchun ikki qator va uch ustundan iborat bo‘lgan xaqiqiy tipga tegishli d massiv boshlang‘ich qiymatlari quyidagicha ko‘rsatilishi mumkin:
float d[2][3]={(1,-2.5,10),(-5.3,2,14)};
Bu yozuv quyidagi qiymat berish operatorlariga mosdir:
d[0][0]=1;d[0][1]=-2.5;d[0][2]=10;
d[1][0]=-5.3;d[1][1]=2;d[1][2]=14;
Bu qiymatlarni bitta ro‘yxat bilan xosil qilish mumkin:
float d[2][3]={1,-2.5,10,-5.3,2,14};
Initsializatsiya yordamida boshlang‘ich qiymatlar aniqlanganda massivning hamma elementlariga qiymat berish shart emas.
Misol uchun: int x[3][3]={(1,-2,3),(1,2),(-4)}.
Bu yozuv quyidagi qiymat berish operatorlariga mosdir:
x[0][0]=1;x[0][1]=-2;x[0][2]=3;
x[1][0]=-1;x[1][1]=2;x[2][0]=-4;
Initsializatsiya yordamida boshlang‘ich qiymatlar aniqlanganda massivning birinchi indeksi chegarasi ko‘rsatilishi shart emas, lekin qolgan indekslar chegaralari ko‘rsatilishi shart.
Misol uchun:
double x[][2]={(1.1,1.5),(-1.6,2.5),(3,-4)}
Bu misolda avtomatik ravishda katorlar soni uchga teng deb olinadi.
Funksiyaga ko‘p o‘lchamli massivlarni uzatish. Ko‘p o‘lchamli massivlarni funksiyaga uzatishda barcha o‘lchamlar parametrlar sifatida uzatilishi kerak. C++ da ko‘p o‘lchamli massivlar aniqlanishi bo‘yicha mavjud emas. Agar biz bir nechta indeksga ega bo‘lgan massivni tavsiflasak (masalan, int mas [3][4]), bu degani, biz bir o‘lchamli mas massivini tavsifladik, bir o‘lchamli int [4] massivlar esa uning elementlaridir
Xulosa
STRING TIPI.
Bu tipdan foydalanish uchun quyidagi sarlavxali faylni ulash lozim:
#include
Satrlarni ta’riflashga misollar:
string st( "BAXO \n" ); //simvollar satri bilan initsiallash
string st2; // bo‘sh satr
string st3( st ); shu tipdagi o‘zgaruvchi bilan initsiallash
FOYDALANILGAN ADABIYOTLAR
11.J.G`.Yo`ldoshev, S.A.Usmonov. Pedagogik texnologiya asoslari.-T.: O`qituvchi. 2004. 12. J.G`.Yo`ldoshev. Ta’lim yangilanish yo`lida.-T.: O`qituvchi. 2000

Download 71.67 Kb.

Do'stlaringiz bilan baham:




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