.NET Uzbekistan
  • .NET Uzbekistan
  • C# / .NET
    • .NET ga xush kelibsiz
    • .NET bilan bog'liq mavhumliklardan qochish
    • .NET asoslari
      • MSIL
      • Memory Management
        • Stack & Heap
      • CLR
    • Basics
      • Starter (boshlang'ich)
        • Java vs C#
        • C# Tarixi
        • Kirish
        • Visual Studio 2019
        • O'zgaruvchilar
        • Ma'lumot turlari
        • Operatorlar
        • Kalit so'zlar
        • ReadLine
        • If-else
        • Switch
        • Math sinfi
        • For sikl operatori
        • While sikl operatori
        • Do-While sikl operatori
        • Foreach sikl operatori
        • Break
        • Continue
        • Goto
        • Kommentlar
      • Essential (muhim)
        • Funksiya
        • Funksiyani qiymat orqali chaqirish
        • Funksiyada Ref kalit so'zidan foydalanish
        • Funksiyada Out parametri
        • Massiv
        • Funksiyalarda massivdan foydalanish
        • Ko'p o'lchamli massiv
        • Parametrlar
        • Array sinfi
        • CMD argumentlari
        • Obyekt va Class lar
        • Konstruktor
        • Obyektni ishga tushiruvchilar
        • Destructor
        • this
        • static
        • Struct
        • Enum
        • Property va Field lar
        • Vorislik
        • Overload (Qayta yuklash)
        • Override (Qayta yozish)
        • Base
        • Polimorfizm
        • Sealed
        • Interface
        • Modifikatorlarga ruxsat berish
        • Inkapsulatsiya
        • Abstrakt class va funksiyalar
        • String
        • StringBuilder
        • String Intern Pool
        • Exception Handling
        • try/catch
        • finally
      • Professional
        • To'plamlar
          • List
          • ArrayList
          • LinkedList
          • SortedList
          • Dictionary
          • HashTable
          • Stack
          • Queue
        • Tuple
        • ValueTuple
        • Delegatlar
          • Func delegati
          • Action delegati
          • Predicate delegati
          • Anonim metodlar
        • Hodisalar
        • Extension metodlar
        • Stream I/O
          • StreamWriter
          • StreamReader
          • MemoryStream
        • File va Directory
          • FileInfo
          • DirectoryInfo
        • MultiThread va Parallel dasturlash
        • Asinxron dasturlash
        • XML Document bilan ishlash
    • LINQ asoslari
      • Average
      • LINQ qanday ishlaydi?
      • LINQ query yozish usullari
      • IEnumerable va IQuerable
      • LINQ operatorlari
      • Select
      • SelectMany
      • Filterlash operatorlari
      • Where
      • OfType
      • Saralash operatorlari
      • OrderBy va OrderByDescending
      • ThenBy va ThenByDescending
      • Reverse
      • Miqdor operatorlari
        • All
        • Any
        • Contains
        • Min
        • Max
      • Set operatsiyasi
        • Distinct
        • Except
        • Intersect
        • Union
      • Bo'lim operatorlari
        • Take
        • TakeWhile
        • Skip
        • SkipWhile
      • Join operatorlari
        • Inner Join
        • Group Join
        • Left Join
      • Element operatsiyalari
        • ElementAt
        • First va FirstOrDefault
        • Last va LastOrDefault
        • Single va SingleOrDefault
    • ORM
      • ADO.NET
      • Dapper
      • Entity Framework
        • Entity Framework Approaches(usullar)
          • Model First Approach
          • Database First Approach
          • Code First Approach
        • Query yozish usullari(Entity Framework)
          • LINQ to SQL
          • Entity SQL
          • Native SQL
        • Entity Framework Core
    • Qo'shimcha sinflar
      • System.Text
        • Encoding
      • System
        • Int32
        • Random
        • DateTime
        • TimeSpan
      • System.Reflection
    • .NET Dasturchi
      • Clean Arxitektura
        • Clean Kod
        • Dizayn Tamoyillari
          • SOLID
            • Yagona Mas'uliyat Tamoyili(SRP)
            • Ochiq Yopiq Tamoyili(O/CP)
            • Liskovning Almashtirish Tamoyili(LSP)
            • Interfeysga ajratish tamoyili(ISP)
            • Qaramlik Inversiya Tamoyili(DIP)
          • DRY
          • KISS
          • YAGNI
        • Dizayn Patternlar
          • Factory Method
          • Abstract Factory
          • Builder
          • Prototype
          • Singleton
          • Adapter
          • Bridge
          • Composite
          • Decorator
          • Façade
          • Flyweight
          • Proxy
          • Chain of Responsibility
          • Command
          • Interpreter
          • Iterator
          • Mediator
          • Memento
          • Observer
          • State
          • Strategy
          • Visitor
          • Template Method
      • Git / Github
      • Muhim terminlar
      • Postman
      • CLI
        • CMD savodxonligi
      • API dan foydalanish
      • WCF
      • Refactor .NET application
      • Unit Test
      • TDD
      • TFS
    • Desktop Dasturlash
      • WPF (Windows Presentation Foundation)
        • WPF ga kirish
          • WPF ning ustunliklari
          • WPF da dastur
          • WPF arxitetkturasi
          • Klasslar iorarxiyasi
        • XAML
          • XAML asoslari
          • XAML orqasida kod
          • XAML xususiyatlari
          • XAML belgilash kengaytmalari
          • Biriktirilgan xususiyatlar
          • XAML da hodisalar
          • XAML da nomlar fazosi
        • WPF ilovasini tuzish
          • Komponovka
          • StackPanel
          • WrapPanel
          • DockPanel
          • Grid
          • GridSplitter
          • Umumiy o'lchamli guruhlar
          • Canvas
          • LnkCanvas
          • Komponovkaga misollar
        • Bog'liqlik xususiyatlari (Dependency property)
          • Bog'liqlik xususiyatlari
          • Bog'liqlik xususiyatlarining roli
          • Bog'liqlik xususiyatlarining aniqlanishi
          • Bog'liqlik xususiyatlarini ishlatish
        • Marshrutlangan hodisalar (Routed Events)
          • Routed Events
          • Bubble Events
          • Direct Events
          • Tunneling Events
        • Qo'shimcha ma'lumotlar
          • WPF ga kirish
          • WinForm va WPF
          • Salom WPF
          • XAML nima?
          • Hodisalar
          • WPF oynasi
          • App.xaml
          • Resurslar
          • Argument berish
          • Son va Vaqtni Formatlash
          • TextBlock elementi – Inline formatlash
          • Label elementi
          • Textbox elementi
      • WinForm (Windows Form)
        • 1-dars. Forma yaratish
        • 2-dars. Muhit bilan tanishish
        • 3-dars. Formaga komponentalar joylashtirish
        • 4-dars. Xodisa(Event)larni boshqarish
        • 5-dars. Dasturni ishga tushurish
      • UWP (Universal Windows Platform)
      • Xamarin
    • Web Dasturlash
      • ASP.NET Core asoslari
        • ASP.NET Core haqida
        • Loyihalar turlari
        • ASP.NET Core dasturlarini hosting qilish
        • Middleware tushunchasi
        • Middleware bilan amaliyot
        • Statik fayllar bilan ishlash
        • Dependency Injection
        • Developer Exception Page
      • ASP.NET Core Web API
        • Web API ga kirish
        • Swagger nima?
        • Http metodlar
        • ActionResult
        • CORs
        • Security (JWT)
        • Swagger ni sozlash
        • Filter va atributlar
        • Configuration va middleware
        • Logging
        • Mapping (AutoMapper)
        • SignalR
        • Keshlash
      • ASP.NET Core MVC
        • MVC nima?
        • ASP.NET Core MVC haqida qisqacha
        • Loyiha strukturasi
        • Controller
        • View
        • Model
        • View larni aniqlash yo'llari
        • Controller dan view ga ma'lumot uzatish
        • ViewBag va ViewData
        • Strongly typed View
        • Layout view haqida
        • ViewStart va ViewImports fayllari haqida
        • Marshrutizatsiya (routing)
        • Tag Helpers
          • Anchor Tag Helper
          • Image Tag Helper
          • Environment Tag Helper
        • Tekshiruv qoidalari (Validation rules)
      • MicroServices
    • Mobile Dasturlash
      • Xamarin.Android
      • Xamarin.IOS
      • Xamarin.Forms
    • Game Dasturlash
      • Unity Starter (boshlang'ich)
      • Unity Advanced (rivojlangan)
    • Internet of Things
    • Machine Learning
    • Telegram Bot
      • Kirish
        • Telegram bot bilan tanishuv
        • ASP.NET Core da birinchi telegram bot
      • Starter
        • Xabar turlari va xabar yuborish
          • Matnli xabarlar bilan ishlash
          • Rasm & Sticker
          • Audio & voice
          • Video & Video Note
          • Dokument fayllar
          • Polls
          • Contact , Location, Venue
          • Album(Media Group)
      • Essential
        • Reply - Markup
          • ReplyKeyboardMarkup, KeyboardButton
          • InlineKeyboardMarkup, InlineKeyboardButton
      • Advanced
        • Deployment
    • Class Library
    • Intervyu savollari
      • C# / .NET asoslari
  • Database
    • MS SQL Server
      • SQL Server sintaksisi
      • Ma'lumot turlari
      • Select
    • PostgreSQL
      • Basic
        • Kirish
        • PostgreSQL tarixi
        • Muhitni sozlash (PgAdmin)
        • Sistaksis
        • Ma'lumot turlari
        • Create Database
        • Select Database
        • Drop Database
        • Create Table
        • Drop Table
        • Scheme
        • Insert so'rovi
        • Select so'rovi
        • Operatorlar
        • Ifodalar
        • Where
        • Where
        • And va Or
        • Update so'rovi
        • Delete so'rovi
        • Like
        • Limit
        • Order By
        • With
        • Having
        • Distinct
      • Advance
        • Constraint (cheklov) lar
        • Join lar
          • Cross join
          • Inner join
          • Left join
          • Right join
          • Full join
        • Union
  • Roadmap
    • Roadmap for .NET developers
    • Roadmap for Azure developers
Powered by GitBook
On this page

Was this helpful?

  1. C# / .NET
  2. Basics
  3. Essential (muhim)

Ko'p o'lchamli massiv

Mirzayev Bahodirjon

PreviousFunksiyalarda massivdan foydalanishNextParametrlar

Last updated 3 years ago

Was this helpful?

Massivlar daraja yoki o'lchovlar soni kabi tushuncha bilan tavsiflanadi. Massivlar 1, 2, 3 yoki n o’lchamli bo’lishi mumkin. Ko’p o’lchmali massivlarni 2 o’lchamli massivlar misolida ko’rib boramiz Bir o’lchovli massivlarni bitta gorizontal qator kabi tasavvur qilishimiz mumkin, misol uchun:

int[] nums1 = new int[] { 0, 1, 2, 3, 4};

Vizual ko’rinishda bu massiv:

image

Endi esa 2 o’lchamli massivga misol ko’ramiz:

int[,] nums2 = { { 0, 1, 2 }, { 3, 4, 5 } };

Vizual ko’rinishda bu massiv:

Ko’p o’lchamli massivlarni e’lon qilish uchun kvadrat qavs ichiga vergul qo’yiladi, yani [,] ikki o’lchamli massiv, [,,] uch o’lchamli massiv va hokazo.

int[,] arr2d; // ikki o’lchamli massiv
int[,,] arr3d; // uch o’lchamli massiv
int[,,,] arr4d; // to’rt o’lchamli massiv
int[,,,,] arr5d; // besh o’lchamli massiv

C# 32 o’lchovgacha bo’lgan massivlarni qo’llab quvvatlaydi.

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 } };

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

image
image