Sobirjonov O'tkirbek


Download 88.66 Kb.
bet7/11
Sana25.01.2023
Hajmi88.66 Kb.
#1121060
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
dotnet

    Bu sahifa navigatsiya:
  • Array
32 o’lchovgacha Karl, 32!
Odatda 1,2 yoki 3 o’lchamli massivlar ko’p ishlatiladi. 2 o’lchamli massivlar shuningdek matritsa deb ham ataladi. Ko’p o’lchamli massivlarni ham bir o’lchamli massivlar kabi turli hil yo’l bilan e’lon qilishimiz mumkin:
int[,] nums1;
int[,] nums2 = new int[2, 3];
int[,] nums3 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5 } };
int[,] nums4 = new int[,] { { 0, 1, 2 }, { 3, 4, 5 } };
int[,] nums5 = new[,] { { 0, 1, 2 }, { 3, 4, 5 } };
int[,] nums6 = { { 0, 1, 2 }, { 3, 4, 5 } };
Ko’p o’lchamli massivlarning elementlarini massiv elon qilingan paytda:
int[,] nums3 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5 } };
kabi aniqlashimiz yoki sikl yordamida elon qilishimiz mumkin:
int[,] myArr = new int[4, 5];
Random rand = new Random();

for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 5; j++)
{
myArr[i, j] = rand.Next(1, 30);
Console.Write("{0}\t", myArr[i, j]);
}
Console.WriteLine();
}
Bu yerda Random sinfidan foydalanildi. Shuningdek massivning har bir elementini alohidadan aniqlashimiz mumkin:
int[,] nums2 = new int[2, 3];
nums2[0, 0] = 0;
nums2[0, 1] = 1;

nums2[2, 3] = 5;
Ikki o’lchamli massivlarda [2, 3] masivning qatorlar va ustunlar sonini belgilaydi yani 2 qatorlar soni va 3 ustunlar soni, quyida bunga misol ko’rishingiz mumkin:
int[,] nums3 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5 } };
image
Keling endi 2 o’lchamli massivga misol ko’ramiz. Sinfxonada 3 qator partalar joylashgan, har bir qatorda 4tadan parta bor, bir partaga 1ta bola o’tiradi, oddiy hisob kitob bilan bu honada 3*4=12 ta parta borligi va 12ta o’quvchi sig’ishini hisoblay olamiz, endi masalaga o’tamiz, matematika fanidan imtihonda barcha o’quvchilar 3,4 yoki 5 baholarini olishdi, savol sinfning o’rtacha bahosi necha?
using System;
class Program
{
static void Main(string[] args)
{
//3 qator 4 ustunlik 2 o'lchamli massiv elon qilamiz
int[,] myArr = new int[3, 4];

Random rand = new Random();

for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
// random yordamida bolalarning baholarini aniqlaymiz
// (3,6) bu oraliqni bildiradi va 3,4,5 sonlarini o'z ichiga oladi
myArr[i, j] = rand.Next(3, 6);
Console.Write("{0}\t", myArr[i, j]);
}
Console.WriteLine();
}
int sum = 0; //sinfning umumiy bahosi
double average = 0.0D; //sinfnig o'rtacha bahosi
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
sum += myArr[i, j];
}
}
average = Convert.ToDouble(sum) / 12;
Console.WriteLine($"Sinfning umumiy bahosi: {sum}");
Console.WriteLine($"Sinfning o'rtacha bahosi: {average}");
}
}
Natija:
5 3 5 4
4 3 5 4
3 3 3 3
Sinfning umumiy bahosi: 45
Sinfning o'rtacha bahosi: 3,75
Massivlarning asosiy hususiyatlari:
O’lchovi(rank): massivning o’lchovini bildiradi
Massiv uzunligi(array lenght): massivning barcha elementlari soni
o'lchov uzunligi(dimension length): bir alohida o’lchovining uzunligi

Parametrlar


Hamroliyev Ahmadjon
Biz ko’pincha metodlarda cheklangan miqdordagi argumentlardan foydalanamiz . Agar dasturdagi metodda argumentlar soni kopaysa kodning korinishini xiralashadi yani xunuklashadi. params kalit so’zi orqali biz cheksiz argumentlarni massiv korinishida kirgazishimiz va kodni ancha ixchamlashtirishimiz mumkin. params Parametrli metodlarni chaqirganimizda , biz quyidagilarni kiritishimiz mumkin:
• Massiv elementlari turiga oid argumentlarning vergul bilan ajratilgan ro'yxati:
int yigindi = Sum(19, 9, 7, 17, 39, 47);
• Belgilangan turdagi argumentlar massivi:
object[] obj = new object[] { "hamroliyev", 'a', 19, 9, 12.8 };
//Add metodini chaqiramiz.
Add(obj);
• Hech qanday argumentsiz. Hech qanday argument yubormasak, params ro'yxati uzunligi nolga teng boladi.
Sum();
params kalit so’zi dasturchi metodda foydalaniladigan parametrlar soni haqida oldindan ma'lumotga ega bo'lmagan hollarda foydali bo'ladi. Metod konstruktorida params kalit sozidan faqat bir marta foydalanishimiz mumkin. params ga tegishli argumentdan keyin qoshimcha argument berish mumkin emas.
params kalit so’zidan foydalanishga oddiy misol:
using System;
namespace dot_net_uz
{
class Program
{
// params parametrni o'z ichiga olgan metod
public static int Sum(params int[] sonlarRoyxati)
{
int sum = 0;
foreach (int i in sonlarRoyxati)
{
sum += i;
}
return sum;
}
static void Main(string[] args)
{
//Sum metodini chaqiramiz.
int [] yigindi = Sum(19, 9, 7, 17, 39, 47);
Console.WriteLine($"yigindi : {yigindi}");
Console.ReadKey();
}
}
}
Output:
yigindi : 138
yigindi : 138
0
Sizda "params kalit so'zidan foydalanmasdan ham metodlarda massivdan foydalanish mumkinku, params ni nima keragi bor?" degan savol tug'ilishi mumkin. Javob shunday: params kalit so'zi metoddan foydalanishni ancha qulaylashtiradi:
using System;
namespace dot_net_uz
{
class Program
{
// params parametrni o'z ichiga olgan metod
public static int Sum(params int[] sonlarRoyxati)
{
int sum = 0;
foreach (int i in sonlarRoyxati)
{
sum += i;
}
return sum;
}
static void Main(string[] args)
{
int [] a={19, 9, 7, 17, 39, 47};
int yigindi = Sum(a); // params ishlatmasdan ham metodni bu usulda chaqirish mumkin edi
Console.WriteLine($"yigindi : {yigindi}");
// paramsdan foydalangandagina metodni shunday chaqirish mumkin:
Console.WriteLine($"yigindi : {Sum(19, 9, 7, 17, 39, 47)}");
// Agar paramsdan foydalanmagan bo'lsangiz kodning bu qismida xatolik yuzaga keladi,
// paramsdan foydalansangiz metodni shu holatda ham chaqirish mumkin
Console.WriteLine(Sum());
Console.ReadKey();
}
}
}
Object turidan va paramsdan foydalanish metodni har qanday turdagi va har qanday miqdordagi qabul qila olishiga imkon beradi:
using System;
namespace dot_net_uz
{
class Program
{
// params parametrni o'z ichiga olgan metod
// object turidagi parametrlardan foydalanilgan funksiya
public static void Print(params object[] royxat)
{
for (int i = 0; i < royxat.Length; i++)
{
// Natijalarni chop etish
Console.WriteLine(royxat[i]);
}
}
static void Main(string[] args)
{
object[] obj = new object[] { "hamroliyev", 'a', 19, 9, 12.8 };
Console.WriteLine("1-usul:");
//Print metodini chaqiramiz.
Print(obj);
Console.WriteLine();
Console.WriteLine("2-usul:");
//Print metodini chaqiramiz.
Print(19,"dot-net",20,"Hamroliyev");
Console.WriteLine("3-usul:");
Print();
Console.ReadKey();
}
}
}
Output:
1-usul:
hamroliyev
a
19
9
12.8

2-usul:
19
dot-net
20
Hamroliyev
3-usul:

Array sinfi


Mamataliyev Diyorbek
Assalomu alaykum, yosh dasturchilar! Bugun sizlar bilan Array abstrakt sinfiga tegishli bo’lgan bir nechta standart metod va funksiyalarni o’rganamiz. Ulardan foydalanib, bir o'lchamli massivlar ustida turli amallarni osonlik bilan bajarishingiz mumkin bo'ladi. Darsga tayyor bo'lsangiz, boshladik.
Array abstrakt sinfi System nomlar fazosida joylashgan. Bu sinf metodlariga murojaat qilish uchun Array kalit so’zidan keyin nuqta qo’yib, metod nomini yozamiz. Masalan, Array.Sort(A);

Download 88.66 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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