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; }
}
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]);
}
}
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);
}
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:
Bu Pifagor teoremasiga asoslangan.
Misol: DistanceTo
qanday ishlaydi?
Agar ikkita nuqta shunday bo‘lsa:
📌 a(3,4)
📌 b(6,8)
✅ Hisoblash:
💡 Natija: 5 birlik masofa.
3️⃣ Kvadrat ildizni hisoblaymiz:
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;
}
}
•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);
2️⃣ Agar masofa radiusdan kichik bo‘lsa, nuqta doira ichida bo‘ladi:
return distance < Radius;
Misol: Includes qanday ishlaydi?
📌 Doira markazi:
(0,0)
📌 Radius:
5
📌 Tekshirilayotgan nuqta:
(3,4)
✅ Hisoblash:
💡 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));
1️⃣ Foydalanuvchi ikkita nuqta koordinatalarini kiritadi.
2️⃣ DistanceTo metodi ikki nuqta orasidagi masofani hisoblaydi va ekranga chiqaradi.
✅ Misol:
📌 Kirish:
3 4
6 8
📌 Chiqish:
5
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.
Top comments (0)