کد پیدا کردن بزرگترین و کوچکترین مقدار بین چند متغیر در سی شارپ
دستورات مربوط به پیدا کردن بزرگترین مقدار وکوچکترین مقدار بین چند متغییر بایدچگونه نوشته شود؟
2 پاسخ
منظورتون در چه متغیری هست چون هر کدوم متفاوت هست ولی چیزی که به عنوان عام در نظر گرفته میشه استفاده از دستورات شرطی هست مثل if , Else که خیلی راحت هم هست.همچنین این موارد چون روی تعداد اعداد زیادی مورد بحث قرار میگیره استفاده از متغیری مثل int خب هم باعث از دست رفتن حافظه میشه و هم استفاده از if خیلی مرقوم به صرفه نیست بیشتر این موارد سمت آرایه ها میره و در سی شارپ متدی آماده وجود داره به نام sort که خودش از کوچیک به بزرگ محتوا خانه های آرایه رو Sort میکنه از کوچیک به بزرگ همچنین میتونید خودتون این sort رو دستی انجام بدید .
به عنوان مثال: برنامه ای که به تعداد دلخواه کاربر ، عدد را از ورودی دریافت کرده و سپس بزرگترین و کوچکترین مقدار را در خروجی نمایش میدهد:
int n; Console.Write("Enter count number's : \t"); n = int.Parse(Console.ReadLine()); float[] a = new float[n]; float min=a[0],max=a[0]; for (int i = 0; i < n; i++) { Console.Write("Enter num {0} : \t", i); a[i] = float.Parse(Console.ReadLine()); if (a[i] > max) max = a[i]; if (a[i] < min) min = a[i]; } Console.Write("max is :\t{0} \nand min is :\t{1}", max,min); Console.ReadLine();
اگر میخواهدی توسط دستور if سه تا عدد رو مورد مقایسه قرار بدید و بخوایید از یک متغیر اضافی کمک بگیرید برنامه زیر هم میتونه کمک کنه:
static void Main(string[] args) { int a = 2, k = 3, b = 4, c = 5; if (b > a) { k = a; a = b; b = k; } if (c > a) { k = a; a = c; c = k; } if (c > b) { k = b; b = c; c = k; } Console.WriteLine("Max num is"+ a); Console.WriteLine("min num is"+ c); Console.ReadKey(); }
البته روش های بسیار بسیار متنوع و زیاد دیگه ای هم هست که اگر بخواییم تمام این روش ها رو بررسی کنید خودش یه کتاب میشه.
موفق باشید.
اگه تعداد اعداد شما باشه بهتره که اول sort کنید .
var numbers = new [] {1.2d, 0.4, 4.1, 2.3d}; //Sort Method Array.Sort(numbers); //or //Extention Method var result = numbers.OrderByDescending(e => e); foreach (var num in result) { Console.WriteLine(num); }