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.

AWS Q Developer image

Your AI Code Assistant

Implement features, document your code, or refactor your projects.
Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

👋 Kindness is contagious

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

Okay