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;
}
}
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.
public int X { get; set; }
public int Y { get; set; }
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.
public Point(string? input)
{
var inputArray = input.Split(' ');
X = int.Parse(inputArray[0]);
Y = int.Parse(inputArray[1]);
}
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);
}
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)