Algoritmik tillar va dasturlash. Ma’ruza mashg’ulotlari uchun o’quv qo’llanma. X. E. Xolmirzayev, M. N. Ikromova, M. M. Bahromova Annotatsiya



Yüklə 2,87 Mb.
səhifə29/56
tarix19.12.2023
ölçüsü2,87 Mb.
#184841
1   ...   25   26   27   28   29   30   31   32   ...   56
O`quv qo`llanma11 (2)

Tayanch so’z va iboralar: Jadval, massiv, pog`onali massiv, System.Array bazaviy sinfi, foreach operatori, tasodifiy son, generator
8.1. Massivlar
Massiv bir xil tipli elementlardan tashkil topgan cheklangan to‘plamdir. Massivning har bir elementi alohida o‘zgaruvchi yoki o‘zgarmas bo‘lishi mumkin. Massivda barcha elementlarning nomlari massiv nomi bilan bir xil bo‘ladi, faqatgina tartib nomeri bilan farq qiladi. Ushbu tartib nomerlari element indeksi deb yuritiladi. Massivlardan foydalanishdan avval ularni e’lon qilib olinadi. Masalan, 10 butun tipli elementga ega massiv quyidagicha e’lon qilinadi:
int[] w = new int[10];
Bu yerda:
int- e’lon qilinayotgan massiv tipi;
[] – e’lon qilinayotgan kattalik massiv ekanligini va uning o‘lchamini bildiruvchi belgi;
w – massiv nomi;
new – xizmatchi so‘z bo‘lib, xotiradan yangi yaratilayotgan massiv uchun joy ajratilishini ta’minlaydi. int[10] – xotiradan ajratiluvchi joy. Ushbu misolda new int[10] xotiradan 10 ta butun tipli element uchun joy ajaratib, ularni nollar bilan to‘ldiradi.
string[] z = new string[100];
Ushbu misolda string tipidagi 100 ta elementdan iborat z nomli massiv e’lon qilinyapti. Massivning har bir elementi u matnli tipda bo‘lganligi sababli null lar bilan to‘ldiriladi.
Massiv elementlari soni massivning o‘lchamini belgilaydi. Massiv o‘lchamini uni e’lon qilingandan so‘ng o‘zgartirib bo‘lmaydi. Massiv o‘lchamini manfiy son bilan va haqiqiy son bilan berib bo‘lmaydi. Massiv elementarining indeksi(raqamlanishi) har doim 0 dan boshlanadi, shu sababli massiv elementining eng katta indeksi har doim uning elementlari sonida 1 ta kam bo‘ladi.
Massiv elementiga murojaat qilinganda massiv nomdan keyingi to‘rtburchak qavs ichida element indeksi(nomeri) yoziladi. Masalan:
int[] nums = new int[4];
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 5;
Console.WriteLine(nums[3]);
Agar massivning mavjud bo‘lmagan elementiga murojaat qilinsa yoki massiv o‘lchami chegarasidan chiqib ketilsa IndexOutOfRangeException tipidagi xatolik yuzaga keladi.
Bir xil tipga ega bo‘lgan massivlardan biri-birini e’lon qilishda foydalanish mumkin. Bu xolda massiv bilan e’lon qilingan yangi massiv elementlari tipi ishoratli tip sifatida qabul qilinadi. Bunday xolda har ikki massiv teng emas balki, bitta umumiy massiv bo‘ladi. Masalan:
int[] a = new int[10];
int[] b = a; // b va a bitta massivdir
C# da massivlarning 3 xil turi bilan ishlanadi: bir o‘lchovli massivlar, ko‘p o‘lchovli to‘rtbo‘rchak massivlar va pog‘onasimon massivlar.


8.2. Bir o‘lchovli massivlar

Bir o‘lchovli massivlardan dasturlashda qolganlariga nisbatan ko‘proq qo‘llaniladi. Bir o‘lchovli massivlarni turli xil e’lon qilish mumkin:


tip[] massiv_nomi;
tip[] massiv_nomi = new tip [ o‘lchami ];
tip[] massiv_nomi = { elementlar qiymati-initsializatorlar };
tip[] massiv_nomi = new tip [] { initsializatorlar };
tip[] massiv_nomi = new tip [ o‘lchami ] { initsializatorlar };
Misollar:
// 1 elementlar berilmagan, initsializatsiya qilinmagan. Massivdan elementlar initsializatsiya qilinmaguncha foydalanib bo‘lmaydi.
int[] a;
// 2 Elementlar qiymati 0 ga teng
int[] b = new int[4];
// 3 new avtomatik bajariladi va elementlar sonidan kelib chiqib o‘lcham belgilanadi
int[] c = { 61, 2, 5, -9 };
// 4 elementlar sonidan kelib chiqib o‘lcham avtomatik ravishda aniqlanadi
int[] d = new int[] { 61, 2, 5, -9 };
// 5 massiv foydalanuvchi tomonidan to‘liq yozilgan
int[] e = new int[4] { 61, 2, 5, -9 };
8.2.1 listingda 6 ta butun tipli elementlardan tashkil topgan massivning manfiy qiymatli elementlari yig‘indisi, soni va massivning eng katta elementini topish dasturi keltirilgan.
using System;
namespace ConsoleApplication1
{ class Class1
{
static void Main()
{
const int n = 6;
int[] a = new int[n] { 3, 12, 5, -9, 8, -4 };

Console.WriteLine( "Joriy massiv:" );


for ( int i = 0; i < n; ++i )
Console.Write( "\t" + a[i] );
Console.WriteLine();

long sum = 0; // manfiy elementlar yig‘indisi


int num = 0; // manfiy elementlar soni
for ( int i = 0; i < n; ++i )
if ( a[i] < 0 )
{
sum += a[i];
++num;
}

Console.WriteLine( "Manfiy elementlar yig‘indisi = " + sum );


Console.WriteLine( " Manfiy elementlar soni = " + num );

int max = a[0]; // Eng katta element


for ( int i = 1; i < n; ++i )
if ( a[i] > max ) max = a[i];

Console.WriteLine( " Eng katta element = " + max );


}
}
}

Yüklə 2,87 Mb.

Dostları ilə paylaş:
1   ...   25   26   27   28   29   30   31   32   ...   56




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin