<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Khodjaev</title>
    <description>The latest articles on DEV Community by Muhammad Khodjaev (@muhammad_khodjaev).</description>
    <link>https://dev.to/muhammad_khodjaev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2203980%2F022057d2-cc71-4bce-a799-38a9ef1cabc3.png</url>
      <title>DEV Community: Muhammad Khodjaev</title>
      <link>https://dev.to/muhammad_khodjaev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muhammad_khodjaev"/>
    <language>en</language>
    <item>
      <title>C#'da Remove()</title>
      <dc:creator>Muhammad Khodjaev</dc:creator>
      <pubDate>Mon, 21 Oct 2024 17:49:51 +0000</pubDate>
      <link>https://dev.to/muhammad_khodjaev/cda-remove-20pm</link>
      <guid>https://dev.to/muhammad_khodjaev/cda-remove-20pm</guid>
      <description>&lt;p&gt;&lt;strong&gt;C# tilida Array'ni ochganimizdan so'ng uni o'zgartira olmaymiz, chunki Array'lar C#'da immutable ya'ni o'zgarmas.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lekin qonun-qoidalarni aylanib o'tishimiz mumkin. Ya'ni Array'ni List ga o'zgartirib, kerakli ishlarni bajarib (masalan undan biror-bir element'ni olib tashlash &lt;code&gt;listName.Remove()&lt;/code&gt;) so'ng yana Listni Array'ga aylantirib qo'ya olamiz.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lekin List tipida usha &lt;code&gt;listName.Remove()&lt;/code&gt; qanday ishlaydi? Hozir birma-bir ko'rib chiqamiz.&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  1. Array'ni List tipiga o'tkazib olish
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;array&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;5&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// List&amp;lt;T&amp;gt;'ga aylantirish&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. List'dan elementni o'chirib tashlash
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 3 raqamini o'chiradi&lt;/span&gt;
&lt;span class="n"&gt;array&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ToArray&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// Qaytadan Array'ga aylantirish&lt;/span&gt;
&lt;span class="c1"&gt;// Array'ning qiymati {1, 2, 4, 5}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Array'imiz o'zgardi. Lekin bizga yordam bergan Remove()'ni ishlatganimizda (kapot ostida) xotirada nimalar sodir bo'ldi, endi hozir buni ko'rib chiqamiz.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1. Dinamik hajm o'zgarishi
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Capacity&lt;/code&gt; va &lt;code&gt;Count&lt;/code&gt;. &lt;code&gt;List&amp;lt;T&amp;gt;&lt;/code&gt;ning ikki muhim xususiyati bor -&amp;gt; Count (List'dagi mavjud bo'lgan elementlar soni) va Capacity (List o'zining hajmini o'zgartirmasdan umumiy nechta element saqlay olishi soni (qisqacha hajmi)). &lt;code&gt;List&amp;lt;T&amp;gt;&lt;/code&gt; ochganimizda uning &lt;code&gt;Capacity&lt;/code&gt;si 0 ga teng bo'ladi. List'ga element qo'shganimiz sari agarda &lt;code&gt;Count&lt;/code&gt;ning soni &lt;code&gt;Capacity&lt;/code&gt;ning soniga teng bo'lib qolsa &lt;code&gt;List&amp;lt;T&amp;gt;&lt;/code&gt; resize bo'ladi ya'ni hajmi o'zgaradi va &lt;code&gt;Capacity&lt;/code&gt;imiz avtomatik ravishda 4 taga oshadi.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Elementi o'chirib tashlash
&lt;/h3&gt;

&lt;p&gt;Qachonki biz &lt;code&gt;Remove()&lt;/code&gt; chaqirganimizda quyidagi ishlar sodir bo'ladi:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Remove()&lt;/code&gt; metodini chaqirganimizda, Listimiz birinchi bo'lib biz o'chirmoqchi bo'lgan element'ni qidiradi. Bu bolsa &lt;em&gt;&lt;strong&gt;itaration&lt;/strong&gt;&lt;/em&gt; ya'ni uni aylanib chiqishiga olib keladi.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Element'ni topib uni o'chirib tashlagandan so'ng, o'chirib tashlangan element'dan keyingi (ya'ni o'ng taraf) elementlar o'chirib tashlanganning o'rnini bosish uchun chapga shift qilinadi ya'ni suriladi. (Agarda o'chirib tashlangan element so'ngi element bo'lsa unda shift qilinmaydi.)&lt;br&gt;
Masalan sizda quyidagi list bor:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Index:   0   1   2   3   4
Values: [10, 20, 30, 40, 50]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agarda siz &lt;code&gt;30&lt;/code&gt;ni o'chirib tashlasangiz list quyidagi ko'rinishga keladi:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Index:   0   1   2   3
Values: [10, 20, 40, 50]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Count'ning kamayishi
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bitta element o'chib ketganidan so'ng Count'imiz bittaga kamayadi. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Xotiradagi ishlar
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;List&lt;/code&gt;ning &lt;code&gt;Capacity&lt;/code&gt;si element'ni o'chirib tashlaganimizdan so'ng bittaga kamaymayib qolmaydi. &lt;code&gt;List&lt;/code&gt;ning tagida yotgan &lt;code&gt;Array&lt;/code&gt;ning hajmi usha-usha turaveradi va oldin qancha joy egallab turgan bo'lsa ushancha egallab turaveradi. Ammo biz &lt;code&gt;Remove()&lt;/code&gt; qilishda to'xtamay davom etaversak bu &lt;code&gt;Count&lt;/code&gt;ning &lt;code&gt;Capacity&lt;/code&gt;dan o'ta sezilarli ravishda kichik bo'lishiga olib keladi. Bundan so'ng qachonki siz &lt;code&gt;List&amp;lt;T&amp;gt;&lt;/code&gt;ga element &lt;strong&gt;qo'shganingizda&lt;/strong&gt;, &lt;code&gt;Capacity&lt;/code&gt; ko'payish o'rniga kamayishi mumkin. Bu ish esa &lt;code&gt;List&amp;lt;T&amp;gt;&lt;/code&gt;ning tagida yotgan Array'ning o'rniga yangi &lt;code&gt;Array&lt;/code&gt; ochiladi va barcha element'lar u yerga ko'chirib o'tkaziladi.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Xulosa
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Xulosa qilib aytadigan bo'lsak, &lt;code&gt;Remove()&lt;/code&gt; ishlatganimizda -&amp;gt; element qidiriladi, o'chirib tashlangandan so'ng qolgan elementlar chapga suriladi, &lt;code&gt;Count&lt;/code&gt; kamayadi.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Xurmat bilan, &lt;br&gt;
Muhammad Xodjayev&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SSH kalitini Github.com'ga qo'shish</title>
      <dc:creator>Muhammad Khodjaev</dc:creator>
      <pubDate>Mon, 21 Oct 2024 12:35:34 +0000</pubDate>
      <link>https://dev.to/muhammad_khodjaev/ssh-kalitini-githubcomga-qoshish-heh</link>
      <guid>https://dev.to/muhammad_khodjaev/ssh-kalitini-githubcomga-qoshish-heh</guid>
      <description>&lt;p&gt;Ushbu maqolada SSH kaliti yo'q bo'lsa yangisini ochish va bor bo'lsa Github.com profilimizga qo'shishni ko'rib chiqamiz.&lt;/p&gt;

&lt;h2&gt;
  
  
  1-bosqich &lt;em&gt;Kompyuterda SSH bormi yoki yo'qmi tekshirish&lt;/em&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Kompyuterimizda &lt;strong&gt;Git Bash&lt;/strong&gt;'ni ochamiz.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ls -al ~/.ssh&lt;/code&gt; mana shu komandani kiritamiz.&lt;/li&gt;
&lt;li&gt;Agarda sizning kompyuteringizda allaqachon SSH key bo'lsa quyidagi fayllardan biri bo'ladi:
&lt;code&gt;id_rsa.pub&lt;/code&gt;
&lt;code&gt;id_ecsda.pub&lt;/code&gt;
&lt;code&gt;id_ed25519.pub&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Agarda sizda ushbu fayllardan biri bo'lsa, 4-bosqichga o'tib ketavering! Agarda bo'lmasa, hozir 2 va 3 chi bosqichlarda yangisini ochishni o'rganamiz.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2-bosqich &lt;em&gt;Kompyuterda yangi SSH ochish&lt;/em&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Git Bash'ni ochamiz&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ssh-keygen -t ed25519 -C "your_email@example.com"&lt;/code&gt; mana shu komandani kiritamiz.
&amp;gt; Qo'shtirnoq ichiga Github profilingiz ulangan pochta manzilini kiritasiz. (qo'shtirnoq olib tashlanmaydi)&lt;/li&gt;
&lt;li&gt;SSH'ni saqlash uchun fayl so'raydi. Default holatda berilgan faylga saqlash uchun shunchaki enter'ni bosishingiz kifoya.&lt;/li&gt;
&lt;li&gt;Ana endi "Enter passphrase" so'raydi ya'ni kod. Esingizda qoladigan kodni kiritasiz&lt;/li&gt;
&lt;li&gt;Va kiritgan kodingizni yana bir bor kiritasiz.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  3-bosqich &lt;em&gt;SSH'ni ssh-agent'ga qo'shish&lt;/em&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;PowerShell'ni ochamiz.&lt;/li&gt;
&lt;li&gt;ssh-add c:/Users/YOU/.ssh/id_ed25519 mana shu komandani kiritamiz &lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Users va YOU degan joyga o'zingizning kompyuteringizdagi fayl nomlarini kiritishingiz esingizdan chiqmasin!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  4-bosqich &lt;em&gt;Github.com'ga kirib SSH ni qo'shish&lt;/em&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;PowerShell'ni ochamiz&lt;/li&gt;
&lt;li&gt;cd .ssh qilib SSH joylashgan faylga kiramiz&lt;/li&gt;
&lt;li&gt;code . qilib VS Code'da ochib olamiz&lt;/li&gt;
&lt;li&gt;Kirib .pub bilan tugagan faylga kiramiz va nima bor bo'lsa ushani ko'chirib olamiz (oxirida sizning Github'ga ulangan pochta manzilingiz bo'lishi kerak)&lt;/li&gt;
&lt;li&gt;Github.com'ga kiramiz va settings qismiga o'tib SSH and GPG keys bo'limiga kiramiz&lt;/li&gt;
&lt;li&gt;NEW SSH key'ni bosamiz&lt;/li&gt;
&lt;li&gt;Title degan joyga SSH uchun nom beramiz, masalan Muhammad's SSH Key&lt;/li&gt;
&lt;li&gt;Key degan joyga .pub bilan tugagan fayldan olgan uzuuun yozuvimizni paste qilamiz&lt;/li&gt;
&lt;li&gt;Add SSH key'ni bosamiz&lt;/li&gt;
&lt;li&gt;Sizdan github profilingizning parolini so'rashi mumkin, uni kiritamiz&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Tabriklayman, siz SSH'ni muvaffaqiyatli qo'shdingiz!&lt;/p&gt;

&lt;p&gt;Xurmat bilan,&lt;br&gt;
Muhammad Khodjaev&lt;/p&gt;

</description>
      <category>ssh</category>
      <category>github</category>
    </item>
    <item>
      <title>Masala: Kichik shahzoda qutqaruvga otlandi</title>
      <dc:creator>Muhammad Khodjaev</dc:creator>
      <pubDate>Thu, 17 Oct 2024 12:28:31 +0000</pubDate>
      <link>https://dev.to/muhammad_khodjaev/masala-kichik-shahzoda-qutqaruvga-otlandi-3ek1</link>
      <guid>https://dev.to/muhammad_khodjaev/masala-kichik-shahzoda-qutqaruvga-otlandi-3ek1</guid>
      <description>&lt;p&gt;&lt;a href="https://oj.ilmhub.uz/problem/83" rel="noopener noreferrer"&gt;Masalaning sharti&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Masalaning yechimi uchun uchta fayl lozim bo'ladi: Program.cs, Planet.cs va Point.cs. &lt;/p&gt;

&lt;p&gt;Point.cs'da Struct ichida koordinatalar saqlash uchun X va Y property'lari mavjud:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;init&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;init&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Planet.cs'da bo'lsa Struct ichida Point va Radius property'lar bor va Pifagor formulasi yozilgan bo'lib u quyidagicha:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;IsInside&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt; &lt;span class="n"&gt;other&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Center&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="n"&gt;other&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Center&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Y&lt;/span&gt; &lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="n"&gt;other&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="p"&gt;*&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;+&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="p"&gt;*&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;Radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ushbu kod qismi bo'lsa:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="n"&gt;Point&lt;/span&gt; &lt;span class="n"&gt;Center&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;Radius&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;Planet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;parts&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;StringSplitOptions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RemoveEmptyEntries&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Select&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Parse&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ToArray&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

        &lt;span class="n"&gt;Center&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;parts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
        &lt;span class="n"&gt;Radius&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;planeta haqida ma'lumot saqlash uchun. Bu yerda shahzoda kesib o'tishi kerak bo'lgan planeta koordinatalari va radiusi saqlanadi.&lt;/p&gt;

&lt;h3&gt;
  
  
  Eng muhim qismi:
&lt;/h3&gt;

&lt;p&gt;Eng muhim qismi bo'lsa Program.cs'da joylashgan bo'lib u yerda ma'lumotlarni foydalanuvchidan qabul qilib olamiz va IsInside() metodini ishlatib shahzoda planetani kesib o'tishi kerakmi yoki yo'qmi tekshiramiz. So'ngra har bir testcase'dan so'ng nechta planetani kesib o'tadi shuni console'ga chiqaramiz:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;testcases&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;TryParse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="s"&gt;"0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;out&lt;/span&gt; &lt;span class="n"&gt;testcases&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;


&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;testcases&lt;/span&gt;&lt;span class="p"&gt;--&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;crossings&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;addresses&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;()?&lt;/span&gt;
                        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;StringSplitOptions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RemoveEmptyEntries&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Select&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Parse&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;ToArray&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;princePoint&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;addresses&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;addresses&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;princessPoint&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;addresses&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;addresses&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;planetCount&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="s"&gt;"0"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;planets&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Planet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;planetCount&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;planets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;++)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;planet&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;Planet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  

        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;isPrinceInside&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;planet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;IsInside&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;princePoint&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;isPrincessInside&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;planet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;IsInside&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;princessPoint&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;crosses&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;isPrinceInside&lt;/span&gt; &lt;span class="p"&gt;^&lt;/span&gt; &lt;span class="n"&gt;isPrincessInside&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="n"&gt;crossings&lt;/span&gt; &lt;span class="p"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;crosses&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;crossings&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agarda masala bo'yicha savollaringiz bo'lsa yoki xatolik ko'rsangiz Telegram orqali: &lt;a class="mentioned-user" href="https://dev.to/muhammad_khodjaev"&gt;@muhammad_khodjaev&lt;/a&gt;'ga yozing!&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
      <category>mathematics</category>
    </item>
    <item>
      <title>Koordinatalar orasidagi masofani hisoblovchi dastur</title>
      <dc:creator>Muhammad Khodjaev</dc:creator>
      <pubDate>Tue, 15 Oct 2024 07:12:43 +0000</pubDate>
      <link>https://dev.to/muhammad_khodjaev/koordinatalar-orasidagi-masofani-hisoblovchi-dastur-78g</link>
      <guid>https://dev.to/muhammad_khodjaev/koordinatalar-orasidagi-masofani-hisoblovchi-dastur-78g</guid>
      <description>&lt;p&gt;Ushbu dasturda Haversine formulasi orqali ikki koordinata orasidagi masofani (metrda) aniqlanadi. Loyihaning ahamiyatli qismi shundaki u &lt;strong&gt;struct&lt;/strong&gt; ya'ni value type bilan birga qurilgan. &lt;/p&gt;

&lt;h2&gt;
  
  
  Dasturga kirish qismi:
&lt;/h2&gt;

&lt;p&gt;O'zimiz joylashgan koordinatani fixed qilib ya'ni o'zgarmas qilib e'lon qilib olamiz. Bu uchun yordamga bizga Coordinate struct'ining konstraktori yordam beradi. Property'larimiz { get; init; } bo'ladi. init bo'lishining sababi esa koordinata bir martta assign qilingandan so'ng boshqa uni o'zgartirish mumkin bo'lmasligi uchun init yordam beradi.&lt;/p&gt;

&lt;p&gt;Foydalanuvchidan koordinatani latitude va longitude ko'rinishida orasida vergul bilan ajratib kiritish so'raladi. Agar foydalanuvchi boshqa narsa kiritsa - (please provide coordinates) deb error beradi. Koordinata kiritilgandan so'ng &lt;strong&gt;Struct&lt;/strong&gt; joylashgan C-sharp faylining Coordinate degan struct'ning GetMetre metodi ishga tushadi.&lt;/p&gt;

&lt;p&gt;GetMetre() esa bizning fixed koordinata bilan foydalanuvchining koordinatasini olib DistanceTo() metodiga ketadi va oradagi masofa bilan qaytib keladi. Oradagi masofa esa Program.cs ga keladi va Math.Round metodi bilan chiroyli ko'rinishga keladi. Shunday qilib, biz oradagi masofa qanchaligini bilib olsak bo'ladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;coordinate&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;Coordinate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;41.351040&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;69.352936&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;coordinateFromUser&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;()?.&lt;/span&gt;&lt;span class="nf"&gt;Split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;coordinateFromUser&lt;/span&gt; &lt;span class="k"&gt;is&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;Length&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;coordinate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;GetMetre&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;coordinateFromUser&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;coordinateFromUser&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])),&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Please provide coordinates"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;//----------------------------------------CoordinateToDistance.cs&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;Coordinate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;latitude&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;longitude&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;EarthRadius&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;6371000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;Latitude&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;init&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;latitude&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;Longtitude&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;init&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;longitude&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="nf"&gt;DistanceTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lat1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lon1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lat2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lon2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
   &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;//formula of Haversine &lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="nf"&gt;DegreesToRadians&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;degrees&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
    &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="nf"&gt;GetMetre&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lat&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lon&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
        &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;DistanceTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lat&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Latitude&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Longtitude&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>dotnet</category>
      <category>clr</category>
      <category>sdk</category>
      <category>jit</category>
    </item>
    <item>
      <title>🖥️ Terminal Buyruqlari va .NET CLI: Boshlang'ich dasturchilar uchun qo'llanma</title>
      <dc:creator>Muhammad Khodjaev</dc:creator>
      <pubDate>Sun, 13 Oct 2024 02:06:50 +0000</pubDate>
      <link>https://dev.to/muhammad_khodjaev/terminal-buyruqlari-va-net-cli-boshlangich-dasturchilar-uchun-qollanma-2fgi</link>
      <guid>https://dev.to/muhammad_khodjaev/terminal-buyruqlari-va-net-cli-boshlangich-dasturchilar-uchun-qollanma-2fgi</guid>
      <description>&lt;p&gt;&lt;strong&gt;Dasturlash dunyosida samaradorlikni oshirish uchun terminaldan foydalanishni bilish juda muhimdir. 💻 Ayniqsa, .NET dasturchilari uchun terminal orqali loyihalarni yaratish va boshqarish jarayonini tushunish boshlang'ich qadamdir. Ushbu maqolada eng asosiy terminal buyruqlari va .NET CLI buyruqlarini o'rganamiz. 🛠️&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Terminal buyuruqlari
&lt;/h1&gt;

&lt;p&gt;Bu qismda joylashuv va fayllarni boshqarish uchun ishlatiladigan eng kerakli terminal buyruqlarini ko'rib chiqamiz. 📂&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧭 pwd — Joriy joylashuvni ko'rsatadi:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pwd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;📜 ls — Joylashuvdagi fayllar va papkalarni ko'rish uchun:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;🚪 cd — Boshqa joylashuvga o'tish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd folder_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;⬆️ cd .. — Bitta fayl ortga qaytish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;🗂️ mkdir — Yangi katalog yaratish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir folder_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;🗑️ rm — Faylni o'chirish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm folder_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;🗑️ rm * — Barcha fayllarni o'chirish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm *
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;&amp;gt; * degani all ya'ni barchasi degani. Bu yulduzcha ko'p joylarda all ya'ni barchasi degan ma'noda qo'llanilib keladi.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  .NET loyihalarini yaratish va boshqarish:
&lt;/h1&gt;

&lt;p&gt;Endi .NET dasturchilari uchun foydali bo'lgan CLI buyruqlarini ko'rib chiqamiz. 🌐 Bu buyruqlar yordamida yangi loyihalar yaratish va boshqarish juda oson. ⚙️&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🆕 dotnet new console -n — Yangi konsol dasturini yaratish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet new console -n ProjectName
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tushuntirish:&lt;/strong&gt; -n belgisi ism berish uchun ishlatilinadi. Agarda -n belgisisiz komanda beriladigan bo'lsa loyiha nomi fayl nomi qanday bo'lsa shundayligicha bo'ladi!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;🛠️ dotnet new solution — Yangi .NET yechimini yaratish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet new solution
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;➕ dotnet add solution — Loyihani yechimga qo'shish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet add solution solution_name.csproj
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;🏗️ dotnet run — Loyihani ishga tushirish:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Eslatma: Agarda terminal ochilgan faylda C# fayl bo'lmasa bu komanda ishlamaydi!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Terminal buyruqlari va .NET CLI orqali ishlash dasturchining hayotini ancha yengillashtiradi va ishni tezlashtiradi. ⏩ Yangi boshlanuvchilar uchun bu qadamlar kichik bo'lib ko'rinsa-da, ular keyinchalik kattaroq va murakkab loyihalar bilan ishlashda juda muhim asos bo'lib xizmat qiladi. 🚀&lt;/p&gt;

</description>
      <category>cli</category>
      <category>dotnet</category>
      <category>csharp</category>
      <category>terminal</category>
    </item>
  </channel>
</rss>
