همان طور که در عکس بالا مشاهده می کنید میتوان ضرایب مثلث خیام پاسکال را با استفاده از " ترکیب" به دست آورد و همانطور که مشاهده می کنید فرمول ترکیب k از n در انتهای برگه نوشته شده
حال اگر ما بتوانیم رابطه ی بین این فرمول و سطر هر مثلث را به دست آوریم به پاسخ رسیده ایم
این رابطه در برنامه داخل متدی به نامcombination کد نویسی شده است
که در آن factorialX همان !n نوشته شده در برگه است
و factorialY همان !k است
و factorialX_Y همان !n-k است
باز هم برای بهتر متوجه شدن یک بار این برنامه را خودتان با مثال های کوچک trace کنید
اما دلیل اینکه عدد بزرگ وارد می کنید و ضرایب در خط های انتهایی منفی می شوند این است که چون آن اعداد از scope یا همان بازه ی تعریف شده ی long بزرگ تر هستند این مشکل پیش می آید و برای رفع این مشکل باید نوع داده ساختار را عوض کنید
متد print هم برای این گذاشته شده که موقع چاپ اعادا با ارقام متفاوت قالب جدول که یک مثلث می باشد بهم نریزد
@de_coder
حال اگر ما بتوانیم رابطه ی بین این فرمول و سطر هر مثلث را به دست آوریم به پاسخ رسیده ایم
این رابطه در برنامه داخل متدی به نامcombination کد نویسی شده است
که در آن factorialX همان !n نوشته شده در برگه است
و factorialY همان !k است
و factorialX_Y همان !n-k است
باز هم برای بهتر متوجه شدن یک بار این برنامه را خودتان با مثال های کوچک trace کنید
اما دلیل اینکه عدد بزرگ وارد می کنید و ضرایب در خط های انتهایی منفی می شوند این است که چون آن اعداد از scope یا همان بازه ی تعریف شده ی long بزرگ تر هستند این مشکل پیش می آید و برای رفع این مشکل باید نوع داده ساختار را عوض کنید
متد print هم برای این گذاشته شده که موقع چاپ اعادا با ارقام متفاوت قالب جدول که یک مثلث می باشد بهم نریزد
@de_coder
دوستان توجه داشته باشند که من یک قسمت هایی از این بازی رو تغییر دادم تا برای اون هایی که برای اولین بار دارند پروژه های گرافیکی جاوا رو می بینند خیلی گیج کننده نباشه
برای همین تمامی تم های گرافیکی رو حذف کردم و به جای استفاده از JavaFX از swing استفاده کردم
و اینکه سعی کردم کد هاش رو ساده تر بنویسم مثلا من از multi Threading استفاده کرده بودم ولی اینجا حذفش کردم
اتفاق خاصی نیافتاده
توی سری اول زمانی که دو تا انتخاب شما غلط می بود چند ثانیه pause می کرد و بعد دکمه ها به سر جای اولیه اشون بر می گشتند
ولی اینجا تا شما دکمه ی سوم رو انتخاب نکنید دو انتخاب اول که غلط بودند سر جاشون بر نمی گردند
برای همین اگر داخل پکیج برنامه کلاسی به نامtimePicker دیدید زیاد جدی نگیرید
و اینکه برنامه رو از حالت random بودن دکمه ها در آوردم تا trace کردنش و درکش براتون آسون تر باشه
@de_coder
برای همین تمامی تم های گرافیکی رو حذف کردم و به جای استفاده از JavaFX از swing استفاده کردم
و اینکه سعی کردم کد هاش رو ساده تر بنویسم مثلا من از multi Threading استفاده کرده بودم ولی اینجا حذفش کردم
اتفاق خاصی نیافتاده
توی سری اول زمانی که دو تا انتخاب شما غلط می بود چند ثانیه pause می کرد و بعد دکمه ها به سر جای اولیه اشون بر می گشتند
ولی اینجا تا شما دکمه ی سوم رو انتخاب نکنید دو انتخاب اول که غلط بودند سر جاشون بر نمی گردند
برای همین اگر داخل پکیج برنامه کلاسی به نامtimePicker دیدید زیاد جدی نگیرید
و اینکه برنامه رو از حالت random بودن دکمه ها در آوردم تا trace کردنش و درکش براتون آسون تر باشه
@de_coder
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace SoloLearn
{
class Program
{
static char[] letters = {'a', 'b', 'c', 'd', 'e'};
static char[] numbers = {'1', '2', '3', '4', '5'};
static void PrintNumbers()
{
for (int i = 0; i < 5; i++)
{
Console.Write(numbers[i] + " ");
Thread.Sleep(10);
}
}
static void PrintLetters()
{
for (int i = 0; i < 5; i++)
{
Console.Write(letters[i] + " ");
Thread.Sleep(10);
}
}
static void Main(string[] args)
{
Thread t1 = new Thread(PrintNumbers);
Thread t2 = new Thread(PrintLetters);
t1.Start();
t2.Start();
}
}
}
@de_coder
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace SoloLearn
{
class Program
{
static char[] letters = {'a', 'b', 'c', 'd', 'e'};
static char[] numbers = {'1', '2', '3', '4', '5'};
static void PrintNumbers()
{
for (int i = 0; i < 5; i++)
{
Console.Write(numbers[i] + " ");
Thread.Sleep(10);
}
}
static void PrintLetters()
{
for (int i = 0; i < 5; i++)
{
Console.Write(letters[i] + " ");
Thread.Sleep(10);
}
}
static void Main(string[] args)
{
Thread t1 = new Thread(PrintNumbers);
Thread t2 = new Thread(PrintLetters);
t1.Start();
t2.Start();
}
}
}
@de_coder
معرفی Vector
با توجه به تصویر زیر که از سایت microsoft اسکرین شده است می توان دریافت که IDE این شرکت یعنیMicrosoft Visual studio در دو نسخه ی professional و express ، ارجاع دادند یک متغیر به عنوان طول یک آرایه در ++C را قبول نمی کند یعنی آرایه با طول پویا را نمی توان به صورت مستقیم در آرایه استفاده کرد
@de_coder
با توجه به تصویر زیر که از سایت microsoft اسکرین شده است می توان دریافت که IDE این شرکت یعنیMicrosoft Visual studio در دو نسخه ی professional و express ، ارجاع دادند یک متغیر به عنوان طول یک آرایه در ++C را قبول نمی کند یعنی آرایه با طول پویا را نمی توان به صورت مستقیم در آرایه استفاده کرد
@de_coder