PDA

View Full Version : به دست اوردن تداخل ساعتی



mahdad sepah
شنبه 24 تیر 1391, 14:27 عصر
سلام دوستان
من در برنامه ام باید ساعت های کلاس ها را وارد کنم اگر تداخل نداشت وارد شود کلا الگوریتم به دست اوردن تداخل را میخواهم
ممنون میشم کمکم کنید

mahdad sepah
شنبه 24 تیر 1391, 16:31 عصر
کسی نیست مرا یاری کند؟

fjm11100
شنبه 24 تیر 1391, 17:06 عصر
سوالت را کمی توضیح بده خیلی مفهوم نیست

mahdad sepah
شنبه 24 تیر 1391, 20:08 عصر
مثلا اگر یک درسی در ساعت 8 تا 9.30 بود در فلان کلاس در بین این ساعت درس دیگری اضافه نشه

the king
یک شنبه 25 تیر 1391, 00:16 صبح
فرضا الان می خواهید کلاس درس جدید x رو اضافه کنید در حالی که کلاس های درس قبلی []a هستند و می خواهید چک کنید که با اونها
تداخل زمانی نداره. هر کلاس درسی ساعت شروع Start و ساعت پایان Finish داره.

یک حلقه i می سازید که از اندیس 0 الی آخرین اندیس []a رو پیمایش کنه، داخل حلقه ایندو مقدار رو بدست بیاورید :


startMax = Max(a[i].Start, x.Start)
finishMin = Min(a[i].Finish, x.Finish)

یعنی startMax بین ساعت شروع x و [a[i اونی که دیرتره انتخاب کنه و یعنی finishMin بین ساعت پایان x و [a[i اونی که زودتره انتخاب کنه.
حالا داخل حلقه شرط کنید که اگر finishMin بزرگتر از startMax باشه یعنی ایندو با هم تداخل زمانی دارند و از حلقه خارج بشه.
نکته : خارج حلقه اگه i برابر تعداد خانه های []a نباشه تداخل زمانی وجود داشته، چون پیش از پیمایش کل اندیس ها از حلقه خارج شده.