I. BOB. Massivlar haqida umumiy ma'lumot

I. BOB. Massivlar haqida umumiy ma'lumot
Massiv deb –bir nom bilan murojaat qilish mumkin bo‘lgan bitta tipga tegishli indekslangan o‘zgaruvchilar to‘plamidir. C++ da massivlar bir o'lchovli yoki ko'p o'lchovli bo'lishi mumkin. Ko‘p hollarda bir o‘lchovli massivlardan foydalaniladi. Massivlar turli maqsadlarga xizmat qiladi. Ular o‘zgaruvchilarni birbiriga bog'lash uchun qulay vositalarni ta'minlaydi.Masalan, siz massivda saqlashingiz mumkin maksimal kunlik haroratni qayd etib borishni, bir oy ichida birja kurslari ro'yxati yoki uy kutubxonasidagi dasturiy kitoblarning nomlarini.
Massivning asosiy afzalligi ma'lumotlarni tashkillashtirishdadir shuning uchun ularni manipulyatsiya qilish osonroq hisoblanadi. Shunday qilib, agar ma'lum bir aktsiyalar guruhiga to'langan dividendlarni o'z ichiga olgan qator mavjud bo'lsa, ushbu qator elementlariga siklik kirish va aktsiyalarning o'rtacha daromadini hisoblashni tashkil etishni osonlikcha massivlarda amalga oshira olasiz. Bunga qo'shimcha ravishda, massivlar ma'lumotlarni osongina tartibga solishga imkon beradi. Boshqa dasturlash tillarida bo‘lgani kabi C++ dasturlash tilida ham massivlaridan shunday qo‘llaniladi.Shunga qaramasdan ularning bitta xususiyati bor: massivlarni obyekt shaklida ham amalga oshirish mumkin.
Ob'ektlar shaklida massivlarni amalga oshirishda bir qator muhim afzalliklarni beradi va oxirgilaridan ancha yirigi, "to‘plash" yordamida ishlatilmagan qatorlarni yo'q qilish qobiliyatiga egadir.C++ da massivlar boshqa C dasturlash tillaridagi massivlardan ancha farq qiladi. Buni misollar yordamida ko‘rib o‘tamiz.
nt [] k ; // k – massiv.
K = new int [3] ; // massiv 3 ta int tipiga tegishli elementdan iborat.
K [0] = -5 ; K [1] = 4 ; K [2] = 1; // massiv elementlarini e‘lon qilamiz. // massivning uchinchi elementini chiqaramiz.
Console.Writeline(k[2]+‖‖);
Yuqoridagilardan ko‘rinib turibdiki, massiv quyidagicha e‘lon qilinadi :
Int [] k;
Quyidagisi esa xato hisoblanadi: int k[]; //xato! int k []; //xato!
Misol:
using System;
using System.Text;
namespace massiv
{
class Program
{
public static void Main(string[] args)
{
int s = 0; int[] a = new int[5];
a[0] = 6; a[1] = 3;
a[2] = 7; a[3] = 5; a[4] = 2;
s=a[0]+a[1]+a[2]+a[3]+a[4];
Console.Write("s="+s);
Console.ReadKey();
}
}
}
Misol:
using System;
using System.Text;
namespace massiv
{
class Program
{
static void Main(string[] args)
{
int s = 0; int[] a = {2,3,4,5,6};
s=a[0]+a[1]+a[2]+a[3]+a[4];
Console.Write("s="+s);
Console.ReadKey();
}
}
Massiv
C++ dasturlash tilida kompyuter xotirasiga bir o’zgaruvchi yordamida bir nechta qiymatlarda foydalanishga to’g’ri keladi. Bir o’zgaruvchi bilan bir nechta qiymat ustida amallar bajarish uchun berilgan ma’lumotlar bir turga mansub bo’lishi kerak. C++dasturlash tilida bir o’zgaruvchi yordamida bir nechta qiymatlardan foydalanish uchun massiv degan turdan foydalaniladi. Dasturlash tillarida ro’yxat yoki jadval ko’rinishidagi ma’lumotlarni massiv deb atashadi. Massiv so’zining ma’nosi o’lcham, o’lchov demakdir. Massivning barcha elementlari bitta turga mansub bo’lib, ular bitta nom bilan nomlanadi va bir-birlaridan nomerlari (indekslari) bilan farq qiladi. Endi dasturdagi ma’lumot strukturalari bilan tanishishni boshlaymiz. Dasturda ikki asosiy tur ma’lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda xotirada egallagan joyi o’zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Statik massivlar elementlar soni oldindan ma’lum bo’lgan va initsializatsiyalangan (qiymat belgilangan) massivlar hisoblanadi. Dinamik ma’lumot tiplari dastur davomida o’z hajmini, egallagan xotirasini o’zgartirishi mumkin. Dinamik massivlar esa elementlari soni oldindan ma’lum bo’lishi va uni initsializatsiyalash (qiymat belgilash) shart emas. Statik massivlarning kamchiliki shundaki, agar ularning o’lchamini oldindan juda katta olinsa-yu, uning ko’p qismi keraksiz qolib ketsa, u holda xotira behuda sarflanishiga olib keladi. Shu muammoni hal qilish maqsadida massivlar C++ tilida asosan dinamik tarzda e’lon qilinadi. Massivlar dasturlashda eng ko’p qo’laniladigan ma’lumot tiplaridir. Massivlar hotirada ketma-ket joylashgan, bir tipdagi o’zgaruvchilar guruhidir. Alohida bir o’zgaruvchini ko’rsatish uchun massiv nomi va kerakli o’zgaruvchi indeksini yoziladi.
Massiv (lot. massa — boʻlak, parcha) — 1) togʻlik yerlarning baland joylaridagi bir-biriga oʻxshash yaxlit kismlari (mas, Pomir massivi); 2) geografik xususiyatlari va umumiy manzarasi bir tusdagi yaxlit, tutash yerlar, maydon (mas, oʻrmon massivi); 3) meʼmorchiligi jihatdan bir butunlikni tashkil etgan turar joy kompleksi (mas, Chilonzor massivi).
Endi dasturdagi ma’lumot strukturalari bilan tanishishni boshlaymiz. Dasturda ikki asosiy tur ma’lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda xotirada egallagan joyi o’zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Statik massivlar elementlar soni oldindan ma’lum bo’lgan va initsializatsiyalangan (qiymat belgilangan) massivlar hisoblanadi. Dinamik ma’lumot tiplari dastur davomida o’z hajmini, egallagan xotirasini o’zgartirishi mumkin. Dinamik massivlar esa elementlari soni oldindan ma’lum bo’lishi va uni initsializatsiyalash (qiymat belgilash) shart emas. Statik massivlarning kamchiliki shundaki, agar ularning o’lchamini oldindan juda katta olinsa-yu, uning ko’p qismi keraksiz qolib ketsa, u holda xotira behuda sarflanishiga olib keladi. Shu muammoni hal qilish maqsadida massivlar C# tilida asosan dinamik tarzda e’lon qilinadi. Massivlar dasturlashda eng ko’p qo’laniladigan ma’lumot tiplaridir. Massivlar hotirada ketma-ket joylashgan, bir tipdagi o’zgaruvchilar guruhidir. Alohida bir o’zgaruvchini ko’rsatish uchun massiv nomi va kerakli o’zgaruvchi indeksini yoziladi.
Ta’rif: Bir turga mansub bo’lgan yagona nom bilan saqlanuvchi tartiblangan ma’lumotlar majmuasi massiv deyiladi.
Massivlar yagona o’zgaruvchi bilan kompyuter xotirasiga saqlanadi, uning elementlari ma’lum bir indekslar bilan tartiblab joylashtiriladi. Massivlar yagona nom bilan bir nechta qiymatni o’zida mujassamlashtiradi, bularga matematikadagi vektorlarni misol keltirish mumkin. Vektor ham yagona nom bilan saqlanib uning tarkibida bir nechta qiymatni o’zida mujassamlashadi. Vektorning ham elementlari bir turga mansub va tartiblangan bo’ladi.
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 boladi
•A[1]=10; a massivning indeksi 1 bolgan elementi 10 qiymat ozlashtirsin
•Cin>>a[2]; a massivning indeksi 2 bolgan elementi kiritilsin; •Cout<
•Using namespace std;
•Int main ()
•{
•Int a[10] = {0};
•//massivning barcha elementlariga 0 qiymat berish
•For (int i= 0; i<<”a[“<•In Elementlari butun sonlardan iborat bolgan, n elementdan tashkil topgan massiv elementlarini kirituvchi va ekranga chiqaruvchi programma tuzilsin. (n <=10)
•//Maqsad : massiv elementlarini kiritish va ekranga chiqarish #include using namespace std;
•Int main (){
•Int a[10]={0}; int n;
•Cout <> n;
•For (int i= 0; I < n; i++){
•Cout <<”a[“< a [i];
•}
•For (int i=0; i<< a[i]<<=10)
•// Maqsad: massiv elementlarini kiritish va yig`indisini chiqarish #includeusing namespace std;
•Int main()
•{
•Int a[10]={ 0 }; // a massivini e`lon qilish
•Int n; //massiv elementlar soni
•Int s =0; //massiv elementlari yig`indisini hisoblash uchun
•Cout <> n;
•For(int I = 0; i<<”a[“<a[i]; s+=a[i];
•}
•Cout <<•Usining namespace std;
•Int main(){
•Int a[10]; int n;
•Cout<>n;
•For (int i= 0; i<<”a[“<< I <> a[i];
•}
•Cout <<<<<< sizeof (a) / sizeof (int) << endl;
•Return0;}
•n= 5 a[0]=6 a[1]=8 a[2]=1 a[3]= a[4]=31 -usul=10 2 – usul =10 proces returned 0 executionPress any key to continue.
|