Dinamik massivni e'lon qilish va ishga tushirish Massiv elementlariga kirish



Download 476,35 Kb.
bet11/12
Sana21.07.2022
Hajmi476,35 Kb.
#835046
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
Kurs ishi 2 260622081439

2.1-rasm - Kompyuterning reaktsiyasi

Shaklda. 2.1 yangi operatsiya yordamida ikki o'lchovli dinamik massiv qanday ishlashiga misol ko'rsatadi .


Bizning misolimizda matritsa uchun dinamik xotira ajratilgan, u Nrow=5 va Mcol=4 nomli konstantalar bilan belgilanadi.
Keyin matritsaning elementlari tasodifiy kiritiladi, shundan so'ng massiv qayta ishlanadi va natija ekranda ko'rsatiladi, bizning holatlarimizda bu har bir qatordagi musbat elementlar sonining chiqishi va uning o'rtacha arifmetik qiymatidir. elementlar.
Dastur sinovdan o'tkazildi va qo'lda matematik hisob-kitoblar yordamida ish natijasi tekshirildi.

I-Bob C++ tilidagi bir o’lchovli massivlar

Massiv – bu bir xil toifali, chekli qiymatlarning tartiblangan to`plamidir. Massivlarga misol qilib matematika kursidan ma`lum bolgan vektorlar, matritsalarni ko`rsatish, uning elementiga bir indeks orqali murojaat qilish mumkin bo’lgan massiv bir o’lchamli deyiladi. Bir o’lchamli massivni e`lon qilish quyidagicha bo’ladi:


 < [elementlar_soni ]
={boshlang`ich qiymatlar};
Quyidagi massivlarni e`lon qilishga bir necha misollar
keltirilgan:
 1)float a[5]; 2)int m[3]; 3)bool b[10];
1) a elementlari haqiqiy sonlarda iborat bo`lgan, 5 ta
elementdan tashkil topgan massiv.
Indekslari esa 0 dan 4 gacha
bo`lgan 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 murojad
qilish uning indeksi orqali bo’ladi

•A[1]=10; a massivning indeksi 1 bolgan elementi 10 qiymat o’zlashtirsin


•Cin>>a[2]; a massivning indeksi 2 bolgan elementi kiritilsin;
•Cout<chiqarilsin;
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 boshlang`ich qiymat berish mumkin va buning bir necha usuli mavjud. O`lchami ko’rsatilgan massivni to’liq initsializatsiya qilinadi.
•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 boshlang`ich qiymat berilgan.O`lchami ko’rsatilgan massivini to’liqmas initsializatsiyalash.
•Int k[5] = {2, 3, 7};
Bu yerda 5 ta elementdan iborat bolgan k massivi e`lon qilingan va massivning dastlabki 3 ta elementlariga boshlang`ich qiymat berilgan.O`lchami korsatilmagan massivni toliq initsializatsiyalsh.
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 ) O`lchami ko’rsatilgan massivning barcha elementlariga boshlang`ich qiymat 0 berish kerak:


•Int k [5] = { 0 };


II-Bob C++ tilidagi ikki o’lchovli massivlar
Bir olchamli massivlar uchun ishlatilgan o`zgaruvchilar, bir xil jinsdagi berilganlarni hotirada saqlash uchun foydalaniladi.
Ikki olchamli massivlarda esa satr va ustunlar orqali bir xil jinsdagi qiymatlarni ikki olchamli o`zgaruvchilar ichida saqlash uchun foydalaniladi.
Ikki o`lchamli statik massivlarni elon qilish.
Toifa massiv_nomi [massiv_satrlar_soni] [massiv_ustunlar_soni];
Ikki o’lchamli massivlarni e’lon qilishda,
bir o’lchamlidan farqi, massiv nomidan keyin qirrali qavs ichida ikkta qiymat yozilganligidir.
Bulardan birinchisi, satrlar sonini ikkinchisi esa ustunlar sonini bildiradi.
Ya`ni ikki olchamli massiv elementiga ikkta indeks orqali murojat qilinadi.
Ikki o’lchamli massivlar matematika kursidan malum bolgan matritsalarni eslatadi.

Ikki o’lchamli massiv e`loniga misol;


•Int a[3][3], b[2][4];
•A matritsa B matritsa
•a00 a01 a02
•a10 a11 a12
•a20 a21 a22
•b00 b01 b02 b03
•b10 b11 b12 b13
A matritsa 3 ta satr, 3 ta ustunga ega.B matritsa 2 ta satr,
4 ta ustunga ega.Ikki o’lchamli masivlarda 1-indeks satrini,
2-indeks ustunni bildiradi.
Birinchi satrning dastlabki elementi a10 – a biru nol
elementi dep o’qiladi. a o`n deyilmaydi.
m ta satr va n ta ustunga ega bolgan massivga (mxn) o`lchamli massiv deyiladi. Agar m=n (satrlar va ustunlar soni teng) bo`lsa kvadrat massiv deyiladi.Ko’pincha o`lchamli massivlarni initsializatsiyalash uchun misollar bilan hisoblanadi.
•Int a[2] [2]={1,2,7,3>;
•Int b[2][3]={0,1,2},{3,4,5} };

Massivlarni qollanilishiga misol keltiradigan bo’lsak, satrlar


talabalarni, ustunlar fanlardan olgan baxolarni bildirsin. Ya`ni m
ta talaba, n ta fan. N – ustunga talabalarning o`rtacha baxolari
xisoblanib, shu asosida stipendiya bilan taminlansin va h.k ,
bunga oxshab koplab misollar keltirish mumkin. Bu masalalarga
toxtalishdan oldin bir ikkita oddiy masalalar bilan tanishib
chiqaylik.
• 1 – masala. A(mxn) matritsa berilgan, shu matritsa
elementlarini kirituvchi va ekranga jadval ko`rinishida
chiqaruvchi programma tuzilsin.
•#include
•Using namespace std;
•Int main() {
•Int in, n, a[10][10];
•Cout<<”satrlar sonini kiriting \nm=”; cin>> m;
•Cout<<”ustunlar sonini kiriting \nn=”; cin>>n;
•Cout<<”massiv elementlarini kiriting \n”;
•For(int satr=0; satr•For(int ustun = 0 ; ustun •Cout <<”a[“ <>a[satr][ustun]; }
•//matritsani jadval shaklida chiqarish
•For(int satr = 0; satr•For(int ustun = 0; ustun •Cout<•Cout<<”\n”;
•}
•Return 0;
•}
Funksiya parametri sifatida massivni jonatish va funksiya natijasi
sifatida massivni olish xam mumkin. Funksiyaga matritsani uzatishda
matritsa nomi bilan uning satrlar va ustunlar sonini ham jonatish
kerak boladi. Funksiyada massivda foydalanishni bir necha xil usuli
bor, shularning bazilari bilan tanishamz.
Funksiyaga matritsani uzatish.
•//Maqsad: funksiyaga matritsani uzatishni organish
#include
•Using namespace std;
•Void matrix_print(int a[10][10], int m, int n)
•{
•// matritsani jadval shaklida chiqarish
•For (int I =0; i < m; i++)
•{
•For (int j =0 ; j < n; j++)
•{
•Cout<•}
•Cout<<”\n”; }
•}
•Void matrix_input (inta[10][10], int m, int n) {
•Cout<<”massiv elementlarini kiriting \n”;
•For (int i=0; i>a[i][j];
•}
•Int main()
•{
•Int m, n, a[10][10];
•Cout<<”satrlar sonini kiriting\nm=”; cin>>m;
•Cout<<”ustunlar sonini kiriting \nn=”; cin>> n;
•//funksiyaga matritsa, satrlar va ustunlar soni
jo’natiladi
•Matrix_inpud(a, m, n);
•Cout<<”kiritilgan matritsa\n”;





XULOSALAR



Ushbu kurs loyihasini ishlab chiqish jarayonida barcha rejalashtirilgan maqsad va vazifalarga erishildi: mavzu bo'yicha bilimlarni tizimlashtirish, dinamik massivlar bilan ishlashda xotirani ajratish, qayta taqsimlash va bo'shatish bo'yicha amaliy ko'nikmalarga ega bo'ldi, shuningdek, ishni namoyish qiluvchi dasturiy mahsulot ishlab chiqildi. dinamik massivdan.
Ushbu dasturni statik xotira ajratishdan farqli ravishda dinamik xotira taqsimotidan foydalangan holda ishlab chiqishning afzalligi:
xotiradan tejamkor foydalanish;
dastur ishlayotgan vaqtda massiv hajmini o'zgartirish imkoniyati.
Ushbu dasturiy mahsulotning kamchiligi shundaki, dastur avtomatik kod optimallashtirishni, shuningdek, tarjimon tomonidan diagnostika xabarlarini chiqarishni ta'minlamaydi. Dinamik massivlarni to'liq amalga oshirish uchun ularni qo'llab-quvvatlash C++ kompilyatorlariga kiritilishi kerak.
Ushbu kurs loyihasi dinamik massivlar bilan ishlashni vizual ko'rsatish uchun "Dasturlash" fanidan amaliy ish sifatida foydalanish mumkin.

Download 476,35 Kb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   12




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