Referat bajardi: Kompyuter injinering fakulteti Dasturiy injinering yo‘nalishi1-kurs talabasi Bosimov Bekmurod Baxrom o‘g‘li


Massivlatning qanday ko`rinishlari mavjud



Download 87,86 Kb.
bet2/3
Sana09.12.2022
Hajmi87,86 Kb.
#882459
TuriReferat
1   2   3
Bog'liq
Bosimov Bekmurod dasturlash 1-amaliy topshiriq

2.Massivlatning qanday ko`rinishlari mavjud
Massivlarning 2 xil ko‘rinishi mavjud:
1. Bir o‘lchamli 2. Ikki o‘lchamli

Massivning elementiga bir indeks orqali murojaat qilish mumkin bo’lgan massiv bir o’lchamli deyiladi. Bir o’lchamli massivni elon qilish quyidagicha bo’ladi:


< [elementlar_soni ]
={boshlangich qiymatlar};
Quyidagi massivlarni elon qilishga bir necha misollar keltirilgan:
1)float a[5]; 2)int m[3]; 3)bool b[10];
1) a elementlari haqiqiy sonlarda iborat bolgan, 5 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 4 gacha bolgan sonlar
•Float a [5];massiv elementlari a[0] a[1] a[2] a[3] a[4]
•Qiymati 4 -7 15 5.5 3
2) m elementlari butun sonlardan iborat bolgan, 3 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 2 gacha bo`lgan sonlar.
•Int m[3]; massiv elementlari m[0] m[I] m[2]
•Qiymat 2 -17 6
•Xotirada joylashishi [ 0x22ffI0 0x22ffI4
0x22ffI8
Massiv elementlariga murojat qilish oddiy ozgaruvchilarga murojat qilishdan biroz farq qiladi. Massiv elementiga murojat qilish uning indeksi orqali boladi
•A[1]=10; a massivning indeksi 1 bolgan elementi 10 qiymat ozlashtirsin
•Cin>>a[2] ; a massivning indeksi 2 bolgan elementi kiritilsin;
•Cout<3) b elementlari mantiqiy qiymatlardan (true , false ) iborat bolgan 10 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 9 gacha bolgan sonlar
C++ da massiv indeksi 0 dan boshlanadi C++ da massiv 0- indeksi elementga ornatilgan korsatkich xisoblanadi. Shuning uchun ixtiyoriy i- elementga murojat a[i] yoki **(a+i) orqali bolishi mumkin.Massivni e’lon qilishda uning elementlariga boshlangich qiymat berish mumkin va buning bir necha usuli mavjud. Olchami ko’rsatilgan massivni to’liq initsializatsiya qilinadi. 4
•Int k [5] ={ 2, 3, 7, 8, 6,};
Bu yerda 5 ta elementdan iborat bo’lgan k massivi e’lon qilingan va massivning barcha elementlariga boshlangich qiymat berilgan.Olchami ko’rsatilgan massivini to’liqmas initsializatsiyalash.
•Int k[5] = {2, 3, 7};

Bu yerda 5 ta elementdan iborat bolgan k massivi elon qilingan va massivning dastlabki 3 ta elementlariga boshlangich qiymat berilgan.O`lchami korsatilmagan massivni toliq initsializatsiyalash.


• Int k [ ] = { 2, 3, 7, 8, 6,} ;
Shuni takidlash lozimki, agar massiv o’lchami ko’rsatilmasa, uni to’liq initsializatsiyalash shart. Bu xolda massiv o’lchami kompilyatsiya jarayonida massiv elementlari soniga qarab aniqlanadi. Bu yerda massiv o’lchami 5 ga teng.
4 ) Olchami ko’rsatilgan massivning barcha elementlariga boshlangich qiymat 0 berish kerak:
•Int k [5] = { 0 };
Bir olchamli massivlar uchun ishlatilgan ozgaruvchilar, bir xil jinsdagi berilganlarni hotirada saqlash uchun foydalaniladi. Ikki olchamli massivlarda esa satr va ustunlar orqali bir xil jinsdagi qiymatlarni ikki olchamli ozgaruvchilar ichida saqlash uchun foydalaniladi.
Ikki olchamli statik massivlarni elon qilish.
Toifa massiv_nomi [massiv_satrlar_soni]
[massiv_ustunlar_soni];
Ikki olchamli massivlarni elon qilishda, bir o‘lchamlidan farqi, massiv nomidan keyin qirrali qavs ichida ikkita qiymat yozilganligidir. Bulardan birinchisi, satrlar sonini ikkinchisi esa ustunlar sonini bildiradi. Yani ikki olchamli massiv elementiga ikkta indeks orqali murojat qlinadi. Ikki olchamli massivlar matematika kursidan malum bo‘lgan matritsalarni eslatadi.
Massiv tarkibida elementlar mavjud bo’ladi. Massivning eng ko’pi bilan ketishi mumkin bo’lgan elementlar soni uning o’lchamini bildiradi. Massivning elementi turgan o’rni uning indeksi deyiladi. Massivning elementiga uning indeksi orqali murojaat qilinadi. Massivning indeksi sifatida butun sonlar xizmat qiladi. Har bir massiv o’zining individual nomiga ega bo’lishi kerak, ya’ni bir xil nomdagi massivlar bo’lmaydi. Ularning nomi oldin e’lon qilingan oddiy o’zgaruvchi nomi bilan ustma-ust tushmasligi kerak.
Statik massivlarni e’lon qilishning umumiy ko’rinishi quyidagicha:

[ ]={boshlang’ich qiymatlar}

5


Bunda {boshlang’ich qiymatlar} albatta bo’lishi kerak. Misollar:
int [ ]A={1,4,3,1};
string[ ] B = { “olma”, “gilos”, “anor”};
double[ ] C = { 0.005, 1.234, 12.5, 13.5, 10.6 };

Yuqoridagi massivlarda massivning o’lchami uning initsializatsiya qismida qatnashgan elementlar soni bilan aniqlanadi. C++ tilida xuddi C++ da bo’lgani kabi element indeksi 0 dan boshlanadi. A[0] indeksli element 1 ga teng, B[1] indeksli element esa “gilos” ga teng va h.


Aytib o’tganimizdek, C++ tilida massivlar xotiradan unumli foydalanish maqsadida massivlarni dinamik tarzda e’lon qilishga kelishib olingan. Dinamik tarzda massivni e’lon qilishning umumiy ko’rinishi quyidagicha:
[ ] =new [o’lcham]
Bu yerda new operatori ga mos ravishda xotiradan joy ajratadi
Dinamik massivlarni e’lon qilishga doir misollar:
n = Convert.ToInt32(Console.ReadLine());
int [ ] M1 = new int [10];
float [ ] M2 = new float [100];
double [ ] M3 = new double [n];

M1 va M2 nomli massivlarning elementlari uchun 10 va 100 ta joy ajratilgan. Ular ham dinamik massiv hisoblanadi. M3 massiv uchun xotiradan qancha joy ajratish foydalanuvchining o’ziga havola qilingan, ya’ni n o’zgaruvchisi klaviaturadan kiritiladi, bu o’zgaruvchi qiymati esa M3 massiv o’lchami sifatida qabul qilinadi. M3 massiv dinamik massivga yorqin misoldir.


Dinamik massiv o’lchami ham statik massiv kabi aniqlanishi lozim, faqat bunda u dastur ishlashi davomida anqlanishi bilan static massivdan farq qiladi.
Indekslar massiv elementlariga murojat qilish uchun ishlatiladi. Indeks massivdagi element sonini bildiradi .Massivdagi to’rtinchi elementga murojat qilish uchun biz 3 indeksidan foydalanishimiz kerak. Misol uchun :num[3]. Massiv elementlarining qiymatlarini olish va o’rnatish uchun indekslardan foydalanamiz.
int[ ] nums=new int [4];
nums[0]=1;
nums[1]=2; 6
nums[2]=3;
nums[3]=5;
Console.ReadLine(nums[3]); //5

Va bizda faqat 4 ta element uchun belgilangan massiv mavjud bo’lgani uchun , masalan oltinchi elementni qo’llay olmaymiz nums[5]=5;. Agar biz buni qilishga harakat qilsak biz IndexOutOfRangeException-ni olamiz.

3.Massivlarning C++ dagi ko‘rinishi
Statik massivlar elementlar oldindan aniqlanadi. Buning uchun sikl operatorlariga murojaat qilamiz. Masalan, quyidagi misolda dinamik massivga qiymat berish hamda uning elementlarini chop etish amallar ko’rsatilgan. Biz massiv elementlari bilan ishlashimiz uchun for sikl operatori kerak buladi:
using System;
internal class ArrayExample
{
private static void Main()
{
int[ ] A = new int[10];
int i;
for (i = 0; i < 10; i = i + 1)
A[i] = i;
for (i = 0; i < 10; i = i + 1)
Console.WriteLine(‘A[‘ + i + ’]: ’ + A[i]);
}
}
Bu dasturda A massivning elementlari sifatida i ning qiymatlari kelmoqda. Xuddi shunday massiv elementlarini klaviatura orqali ham kiritish mumkin. Buning uchun quyidagi kodni ko’raylik:
using System;

internal class ArrayExample


{
private static void Main()
{
int[ ] A = new int[10];
int i; 7
for (i = 0; i < 10; i = i + 1)
A[i] = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < 10; i = i + 1)
Console.WriteLine(‘A[‘ + i + ’]: ’ + A[i]);

}
}
Massiv elementlari qiymatlaridan foydalanishga doir quyidagi sodda misolni ko’rib chiqaylik.



Men Shahbozga judayam qiziqarli matematik masala berdim. Masala sharti quyidagicha: Men unga 10 ta son aytaman ularning yig’indisini topib 10 ga bo’lishi kerak buladi. Keyin Shahboz menga shu kodni yozib berdi. Sizham bu kodni o’z kompyuteringizda tekshirib kuring.
using System;

internal class Average


{
private static void Main()
{
int[ ] A = new int[10];
int i;
double S = 0;
Console.WriteLine("Sonlarni kiriting");
for (i = 0; i < 10; i = i + 1)
A[i] = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < 10; i++)
S += A[i];
S = S / 10;
Console.WriteLine(S);
}
}
O’lchami ko`rsatilgan massivningbarcha elementlariga boshlang`ich qiymat 0 berish.

8

#include


Using namespace std;
Int main (){
Int a[10] = {0};
//massivning barcha elementlariga 0 qiymat berish
For (int i= 0; i<10; i++)
Cout <<”a[“<Retun 0;


Download 87,86 Kb.

Do'stlaringiz bilan baham:
1   2   3




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