رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
راهنمایی در پیدا کردن روز هفته
#1
سلام دوستان خدا قوت  Smile
  بنده میخواستم یک ساختاری رو مشخص کنم که اعدادبین 1 تا دوازده رو داشته باشه .و طوری باشه که وقتی که بطور مثال میخوام 9 رو با 5 جمع کنم  از خود 9 بشماره و وقتی که به 12 رسید به جای سیزده از یک بشماره تا به عنصر پنجم برسه یعنی جواب 1 بشه.
1 2 3 4 5 6 7 8 9 10 11 12


از راست به چپ وقتی نه رو با پنج جمع کنم چون حاصل از 12 میگذره باید بیاد و از 1 ادامه شمارش رو بده تا شمارش قطع شه(شمارش از 9 شروع میشه و خودش هم در شمارش منظور میشه) 9 10 11 12 1
منتظر راهنماییتون هستم ممنون
پاسخ
تشکر شده توسط:
#2
سلام مجدد
دوستان البته این طوری هم میشه در نظر گرفت
مثلاروز های هفته رو داریم

شنبه
یکشنبه
دوشنبه
سه شنبه
چهار شنبه
پنجشنبه
جمعه

حالا ما میخوایم ببینیم 10 روز دیگه بعد از شنبه چی میشه ؟میدونیم وقتی که از شنبه شروع کردیم و به جمعه رسیدیم دوباره از شنبه باید ادامه شمارش رو بدیم تا به روز مورد نظر برسیم
واقعا کسی تا حالا به همچین چیزی بر نخورده !!!!!
پاسخ
تشکر شده توسط:
#3
سلام
این کار در تابع  mktime پیاده سازی شده
شما کافی ست تاریخ مورد نظز رو در تابع mktime وارد کنید و تعداد  سال ، ماه و روز مورد نظر رو اضافه کنید و یا کاهش بدید


mktime (hour، minute ، second ،month ، day ، year);

اگر میخوای ساعت و دقیقه و  ثانیه رو وارد نکنی کافیه بجاشون صفر بذاری 
حال فرض کن ما میخواید یه تاریخ نشون بدیم 

mktime(0,0,0,12,1,2015);
میشه یکم برج دوازده 2015
حال ده روز بعدشچه طور حساب کنیم ؟
$plus = 10;
mktime(0,0,0,12,1 + $plus,2015);
اگر میخواد تاریخ شمسی استفاده کنید ایتدا فایل تاریخ شمسی رو از سایت زیر دانلود و در پروژه تون اینکلود کنید 
http://jdf.scr.ir/

بعد بجای تابع mktime  از تابع  jmktime استفاده کنید

http://php.net/manual/es/function.mktime.php

http://jdf.scr.ir/rahnama/?t=jmktime
عاقبت خاک گل کوزه گران خواهی شد...
پاسخ
تشکر شده توسط: BITNEVIS
#4
با تشکز از رهنماییتون فقط واسه روز نمیخواستم یه فرمول کلی واسه این جور لیست ها  میخواستم
که یه الگوریتم نوشتم البته هنوز کامل تستش نکردم
$start=3;
$walk=10;
$i=$start;
while($walk!=1)
{
$walk--;
$i++;
if($i>7)
$i=1;


}

start : شماره خونه ای که قراره ازش شمارش شروع بشه
walk : تعداد گام های شمارش
i:مقدار نهایی که بدرد من میخوره
7 : چون طول لیست من 7 تاست در صورتی که طول متفاوت بد تغییرش میدم.
پاسخ
تشکر شده توسط:
#5
اینو تست کنید:
function sum($a, $b, $base) {
    $digits = range(1, $base);
    $s = ($a + $b) % $base;
    return $digits[$s - 1];
}
پاسخ
تشکر شده توسط: BITNEVIS




کاربران در حال بازدید این موضوع: 1 مهمان