• Eslatma
  • WriteLine
  • using System; class Ajratish { /* Suzuvchi nuqtali sonni butun va kasr qismlarga ajratish */ public int GetParts




    Download 5,29 Mb.
    bet100/154
    Sana08.01.2024
    Hajmi5,29 Mb.
    #131939
    1   ...   96   97   98   99   100   101   102   103   ...   154
    Bog'liq
    Majmua

    using System;
    class Ajratish
    {
    /* Suzuvchi nuqtali sonni butun va kasr qismlarga ajratish */
    public int GetParts(double n, out double frac)
    {
    int w;
    w = (int)n;
    frac = n - w; // frac parametri orqali sonning kasr qismini olish
    return w; // sonning butun qismini qaytarish
    }
    }
    class UseOut
    {
    static void Main()
    {
    Ajratish ob = new Ajratish();
    int i;
    double f;
    i = ob.GetParts(10.125, out f);
    Console.WriteLine("Sonning butun qismi " + i);
    Console.WriteLine("Sonning kasr qismi " + f);
    Console.ReadKey();
    }
    }
    Dastur natijasi:
    Sonning butun qismi 10
    Sonning kasr qismi 0,125
    Ko‘rib turganingizdek out parametri qiymatga ega emas, qiymatga ega bo‘lgan o‘zgaruvchilarni ham out bilan chaqirishimiz mumkin, out parametrli o‘zgaruvchi metod tashqarisida e’lon qilinmagan, lekin tashqarida foydalanish mumkin, out parametr sifatida oldin metod tashqarisida e’lon qilingan o‘zgaruvchilardan foydalanish mumkin.
    Eslatma: Metodda out parametrli o‘zgaruvchi e’lon qilib foydalanmaslik xatolikka olib keladi.
    Xulosa: Metodning out parametri orqali e’lon qilingan o‘zgaruvchini metod ichida o‘zgartirish mumkin va metod tashqarisida ham bu o‘zgarish saqlanib qoladi. Metodda odatiy e’lon qilingan o‘zgaruvchilarda esa bu hodisa ro‘y bermaydi.
    Shuningdek, bu imkoniyatlar ref kalit so‘zida ham mavjud, lekin unda o‘zgaruvchining dastlabki qiymati aniq berilishi shart.
    Kortejlar C# dasturlash tilining 7.0 versiyasidan boshlab qo‘llanila boshlagan va qiymatlar to‘plami bilan ishlashning qulay usulini ta’minlaydi.
    Qavslar ichiga olingan qiymatlar to‘plamini ifodalaydi.
    var kortej = (5, 10);
    Bunday holda, ikkita qiymatga ega bo‘lgan kortej aniqlanadi: 5 va 10. Bundan tashqari ushbu qiymatlarning har biriga nomli maydonlar orqali kirish mumkin:
    Item[kortejdagi_maydonning_seriya_raqami]
    Masalan:
    var kortej = (5, 10);
    Console.WriteLine(kortej.Item1); // 5
    Console.WriteLine(kortej.Item2); // 10
    kortej.Item1 += 26;
    Console.WriteLine(kortej.Item1); // 31
    Bunday holda, tur bevosita aniqlanadi. Lekin kortej o‘zgaruvchisiga turni ham aniq berish mumkin:
    (int, int) kortej = (5, 10);
    Kortej ikkita sonni o‘z ichiga olganligi sababli, tur ta’rifida ikkita sonli turni ko‘rsatish kerak, kortejlarga yana bir misol:
    (string, int, double) talaba = ("Anvar", 25, 81.23);
    Bunda kortejning maydonlarini ham nomlash mumkin:
    var kortej = (count: 5, sum: 10);
    Console.WriteLine(kortej.count); // 5
    Console.WriteLine(kortej.sum); // 10
    Endi kortej maydonlariga murojaat qilish uchun Item1 va Item2 nomlari emas, balki ularning nomlari ishlatiladi.
    Hatto kortejni alohida o‘zgaruvchilarga ajratish mumkin:
    var (name, age) = ("Nodir", 23);
    Console.WriteLine(name); // Nodir
    Console.WriteLine(age); // 23
    Kortej hal qila oladigan vazifalardan biri bu qiymatlar almashinuvidir:
    string main = "Java";
    string second = "C#";
    (main, second) = (second, main);
    Console.WriteLine(main); // C#
    Console.WriteLine(second); // Java
    Masalan, massivni eng oddiy tartiblash uchun kortejdan foydalanish mumkin:
    using System;
    namespace ConsoleApp5
    {
    internal class Program
    {
    static void Main(string[] args)
    {
    int[] nums = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 };
    // tartiblash
    for (int i = 0; i < nums.Length - 1; i++)
    {
    for (int j = i + 1; j < nums.Length; j++)
    {
    if (nums[i] > nums[j])
    (nums[i], nums[j]) = (nums[j], nums[i]);
    }
    }
    // chiqarish
    Console.WriteLine("Saralangan massiv chiqishi:");
    for (int i = 0; i < nums.Length; i++)
    {
    Console.Write(nums[i]+" ");
    }
    Console.ReadKey();
    }
    }
    }
    Dastur natijasi:
    Saralangan massiv chiqishi:
    -41 -5 2 2 4 7 12 33 54 89

    Download 5,29 Mb.
    1   ...   96   97   98   99   100   101   102   103   ...   154




    Download 5,29 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    using System; class Ajratish { /* Suzuvchi nuqtali sonni butun va kasr qismlarga ajratish */ public int GetParts

    Download 5,29 Mb.