کریستین سافت

آموزش برنامه نویسی و سورس سی شارپ , اندروید

کریستین سافت

آموزش برنامه نویسی و سورس سی شارپ , اندروید

۴ مطلب در مهر ۱۳۹۶ ثبت شده است

۲۰
مهر
۹۶


الگوریتم جستجوی باینری یا دودویی : تکنیکی است برای یافتن یک مقدار عددی از میان مجموعه‌ای از اعداد مرتب. این متد محدوده جستجو را در هر مرحله به نصف کاهش می‌دهد، بنابراین هدف مورد نظر یا به زودی پیدا می‌شود و یا مشخص می‌شود که مقدار مورد جستجو در فهرست وجود ندارد.


جستجوی دودویی فقط در آرایه های مرتب استفاده می شود.در این روش عنصر مورد نظر با خانه وسط آرایه مقایسه می شود اگر با این خانه برابر بود جستجو تمام می شود اگر عنصر مورد جستجو از خانه وسط بزرگتر بود جستجو در بخش بالایی آرایه و در غیر این صورت جستجو در بخش پایینی آرایه انجام می شود(فرض کرده ایم آرایه به صورت صعودی مرتب شده است) این رویه تا یافتن عنصر مورد نظر یا بررسی کل خانه های آرایه ادامه می یابد. جستجوی دودویی نمونه‌ای از الگوریتمهای تقسیم و غلبه می‌باشد.


کد سی شارپ :

* در این کد ما فرض می کنیم آرایه ای که داریم مرتب شده هست.

سورس مرتب سازی حبابی با سی شارپ


using System;
using System.Text;

namespace Binary_Search_Cristiansoft
{
class Program
{
static void Main(string[] args)
{
int left=0,right=0,middle=0,key=0,f=0;

//آرایه

int[] array = {10,22,33,44,55,66,77,88,99,111};

// دریافت عدد برای جستجو در آرایه

Console.WriteLine("Enter a number for search : ");
key = int.Parse(Console.ReadLine());

// شروع عملیات جستجوی باینری

while(left <= right)
{
middle = (int) ((left + right)/2);
if(key == array[middle])
{
Console.WriteLine(Found !!!);
f = 1;
break;
}
if(key > array[middle])
{
left = middle + 1;
}
if(key < array[middle])
{
left = middle - 1;
}
}

if(f == 0)
{
Console.WriteLine("Sorry , Not Found!!!");
}

// پایان عملیات جستجوی باینری

Console.ReadKey();
}
}
}


  • علی بابایی کلجاهی
۱۵
مهر
۹۶

یک دکمه بر روی فرم قرار دهید و سپس بر روی آن دوبار کلیک کرده و کدهای زیر را در رویداد کلیک بنویسید :



private void button1_Click(object sender, EventArgs e) { Random RandomClass = new Random(); int rndRed = RandomClass.Next(0, 255); int rndGreen = RandomClass.Next(0, 255); int rndBlue = RandomClass.Next(0, 255); this.BackColor = Color.FromArgb(rndRed, rndGreen, rndBlue); }


  • علی بابایی کلجاهی
۱۵
مهر
۹۶

برای تبدیل تاریخ میلادی به شمسی می توان از متد زیر استفاده کرد :


string PersianDate(DateTime DateTime1) { PersianCalendar PersianCalendar1 = new PersianCalendar(); return string.Format(@"{0}/{1}/{2}", PersianCalendar1.GetYear(DateTime1), PersianCalendar1.GetMonth(DateTime1), PersianCalendar1.GetDayOfMonth(DateTime1)); }

در قسمت فضاهای نامی، فضای نامی زیر را هم وارد کنید:

using System.Globalization;
  • علی بابایی کلجاهی
۱۵
مهر
۹۶

ابتدا در قسمت sulotion Explorer روی نام پروژه راست کلیک کنید و سپس گزینه Add Refrence را بزنید و از پنجره باز شده در داخل تب .NET گزینه System.Management را انتخاب کنید.


سپس این namespace را اضافه کنید:

using System.Management;

از این تابع در هرکجای برنامه میتوانید استفاده کنید:

public string GetCPUId()
{
	string cpuInfo = String.Empty;
	ManagementClass mgmt = new ManagementClass("Win32_Processor");
	ManagementObjectCollection objCol = mgmt.GetInstances();

	foreach (ManagementObject obj in objCol)
	{
		if (cpuInfo == String.Empty)
		{
			cpuInfo = obj.Properties["ProcessorId"].Value.ToString();
		}
	}
	return cpuInfo;
}

خروجی این تابع از نوع رشته ای است.

  • علی بابایی کلجاهی