DEV Community

Cover image for C# da Nuqtalar va Doiralar bilan Ishlash
umida5
umida5

Posted on • Edited on

1 1

C# da Nuqtalar va Doiralar bilan Ishlash

Ushbu maqolada C# dasturlash tilida nuqtalar (Point) va doiralar (Circle) bilan qanday ishlashni o‘rganamiz. Biz quyidagilarni amalga oshiramiz:
• Ikki nuqta orasidagi masofani hisoblaymiz.
• Nuqta doira ichida joylashganligini tekshiramiz.

1. Point (Nuqta) Struktura
X va Y koordinatalariga ega bo‘lgan struct dan foydalanamiz.

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

Enter fullscreen mode Exit fullscreen mode

Tushuntirish
X va Y – nuqtaning koordinatalari.

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

Enter fullscreen mode Exit fullscreen mode

Point(string? input) foydalanuvchi kiritgan ma'lumotni ("3 4") ikkita X va Y qiymatiga ajratadi.

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

1️⃣Ikki nuqta orasidagi farqni topamiz:

(X - other.X) → X koordinatalar farqi
(Y - other.Y) → Y koordinatalar farqi
DistanceTo(Point other) – ikki nuqta orasidagi masofani hisoblaydi.
2️⃣ Kvadratlarni qo‘shamiz:

Image description

Bu Pifagor teoremasiga asoslangan.

Misol: DistanceTo qanday ishlaydi?
Agar ikkita nuqta shunday bo‘lsa:
📌 a(3,4)
📌 b(6,8)
✅ Hisoblash:

Image description

💡 Natija: 5 birlik masofa.
3️⃣ Kvadrat ildizni hisoblaymiz:

Image description

Bu ikkita nuqta orasidagi masofa bo‘ladi.

2. Circle (Doira) Strukturasi

Endi doirani ifodalash uchun Point markazi (Center) va Radius dan foydalanamiz.

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

Center – doiraning markazi.
Radius – doiraning radiusi.
Includes(Point point) – berilgan nuqta doiraning ichida yoki yo‘qligini tekshiradi.
Circle struktura markaz (nuqta) va radius dan iborat. Includes metodi esa berilgan nuqta doira ichida yoki yo‘qligini tekshiradi.

1️⃣ Nuqta va doira markazi orasidagi masofa topiladi:

var distance = point.DistanceTo(Center);

Enter fullscreen mode Exit fullscreen mode

2️⃣ Agar masofa radiusdan kichik bo‘lsa, nuqta doira ichida bo‘ladi:

return distance < Radius;

Enter fullscreen mode Exit fullscreen mode

Misol: Includes qanday ishlaydi?
📌 Doira markazi: (0,0)
📌 Radius: 5
📌 Tekshirilayotgan nuqta: (3,4)

✅ Hisoblash:

Image description

💡 Natija:

• 5 < 5 emas → Nuqta doira ichida emas (false).

3. Asosiy Dastur (program.cs)
Endi ikkita nuqta orasidagi masofani hisoblash uchun asosiy dastur yozamiz:

var a = new Point(Console.ReadLine());
var b = new Point(Console.ReadLine());

Console.WriteLine(a.DistanceTo(b));

Enter fullscreen mode Exit fullscreen mode

1️⃣ Foydalanuvchi ikkita nuqta koordinatalarini kiritadi.
2️⃣ DistanceTo metodi ikki nuqta orasidagi masofani hisoblaydi va ekranga chiqaradi.
✅ Misol:
📌 Kirish:

3 4
6 8

Enter fullscreen mode Exit fullscreen mode

📌 Chiqish:

5

Enter fullscreen mode Exit fullscreen mode

Xulosa

✅ Point struktura nuqtalarni ifodalaydi va ularning orasidagi masofani hisoblaydi.
✅ Circle struktura doira yaratish va nuqta doiraning ichida yoki tashqarisida ekanligini tekshirish imkonini beradi.
✅ program.cs orqali ikkita nuqta orasidagi masofani hisoblaymiz.

Image of Quadratic

Python + AI + Spreadsheet

Chat with your data and get insights in seconds with the all-in-one spreadsheet that connects to your data, supports code natively, and has built-in AI.

Try Quadratic free

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