DEV Community

fazliddin
fazliddin

Posted on

HomeWork

#hw

using System.Runtime.CompilerServices;

public struct Point
{
    public int X { get; set; }
    public int Y { get; set; }

    public Point(string? input)
    {
        var inputArray = input.Split(' ');
        X = int.Parse(inputArray[0]);
        Y = int.Parse(inputArray[1]);
    }

    public double DistanceTo(Point other)
    {
        var cSquare = Math.Pow(X - other.X, 2) + Math.Pow(Y - other.Y, 2);
        return Math.Sqrt(cSquare);
    }
}

public struct Circle
{
    public Point Center { get; set; }
    public int Radius { get; set; }


    public bool Includes(Point point)
    {
        var distance = point.DistanceTo(Center);
        return distance < Radius;
    }
}

Enter fullscreen mode Exit fullscreen mode

C# dasturlash tilida yozilgan ushbu kod strukturalardan (struct) foydalanib, geometrik shakllarni ifodalash uchun mo‘ljallangan. U nuqta (Point) va doira (Circle) tuzilmalarini o‘z ichiga oladi. Keling, kodni qismlarga ajratib, har bir bo‘limni batafsil tushuntirib chiqamiz.

Properties

public int X { get; set; }
public int Y { get; set; }

Enter fullscreen mode Exit fullscreen mode

public – Bu xususiyatga (property) kodning boshqa joylaridan ham murojaat qilish imkonini beradi.
int – Butun son (integer) turidagi ma’lumotni saqlaydi.
X va Y – Nuqtaning gorizontal (X) va vertikal (Y) koordinatalari.
get – Qiymatni olish (o‘qish) uchun ishlatiladi.
set – Qiymatni o‘rnatish (yozish) uchun ishlatiladi.

Сonstructor

public Point(string? input)
{
    var inputArray = input.Split(' ');
    X = int.Parse(inputArray[0]);
    Y = int.Parse(inputArray[1]);
}

Enter fullscreen mode Exit fullscreen mode

Konstruktor — bu maxsus metod bo‘lib, obyekt yaratishda avtomatik ravishda ishlaydi.

string? input — Matn shaklida kiritilgan sonlarni ("10 20") qabul qiladi.

? belgisi — input null bo‘lishi mumkinligini bildiradi.

Split(' ') — Matnni bo‘sh joy (' ') bo‘yicha ikkita qismga ajratadi.

int.Parse(inputArray[0]) — "10" yoki "5" kabi matnni butun songa o‘giradi.

X va Y ga shu qiymatlar saqlanadi.


public double DistanceTo(Point other)
{
    var cSquare = Math.Pow(X - other.X, 2) + Math.Pow(Y - other.Y, 2);
    return Math.Sqrt(cSquare);
}

Enter fullscreen mode Exit fullscreen mode
Method

DistanceTo - bu metod ikkita nuqta orasidagi masofani hisoblaydi. Hisoblash Pifagor teoremasi asosida amalga oshiriladi.

Hisoblash bosqichlari
X - other.X → X koordinatalarining farqi hisoblanadi.
Y - other.Y → Y koordinatalarining farqi hisoblanadi.
Har ikkala farq kvadratga ko‘tariladi.
Olingan natijaning kvadrat ildizi hisoblanadi va masofa aniqlanadi.

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay