السلام عليكم
هل هناك امكانية لعمل برنامج يحاكي دالة random و randomize اي انه يقوم بنفس عملهم , و اذا كان الجواب ايوا كيف راح يكون هذا البرنامج ؟؟ ا
نا حاولت بس ما وصلت لأي شي لو تساعدوني اكون شاكره لكم .
اختكم منار
السلام عليكم
هل هناك امكانية لعمل برنامج يحاكي دالة random و randomize اي انه يقوم بنفس عملهم , و اذا كان الجواب ايوا كيف راح يكون هذا البرنامج ؟؟ ا
نا حاولت بس ما وصلت لأي شي لو تساعدوني اكون شاكره لكم .
اختكم منار
السلام عليكم
نعم يوجد algorithm لمحاكاة ال Ramdomizer و يودعى Park-Miller random number generator وإليكى الكود بال c++ :
منقول
int intrnd (int& seed) // 1<=seed<=m
{
#if LONG_MAX > (16807*2147483647)
int const a = 16807; //ie 7**5
int const m = 2147483647; //ie 2**31-1
seed = (long(seed * a))%m;
return seed;
#else
double const a = 16807; //ie 7**5
double const m = 2147483647; //ie 2**31-1
double temp = seed * a;
seed = (int) (temp - m * floor ( temp / m ));
return seed;
#endif
}و افضل طريقه للحصول على رقم عشوائ هى إرسال دالة الوقت من الكمبيوتر (current system time) بهذا البرنامج تحصلين على ارقام عشوائه بين 1 و 2147483647 .
والسلام
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
السلام عليكم ,,
بالضبط فايجاد قيم عشوائية يحتاج لدالة عشوائية أيضا ,, أي أن ليس لها نمط ثابت ,, وايجاد دالة كهذه لايمكن بالطرق العادية,, حيث أن كل المعادلات لها صيغ ثابتة حتى لو اتسع مجالها وتعقدت ,, فتبقى في النهاية محدودة بقيم وستعطي نفس القيم لو ادخلت لها نفس المتغيرات ,,
لذا أفضل طريقة وأسرعها هو الاعتماد على الزمن حيث انه متغير دائما ,, ويكون عشوائيا كلما تمت استدعاء دالة ال rand التي ستستفيد من الزمن ,, ويمكن تعقييد معادلة الزمن بادخال اليوم والتاريخ فيها ,,
بالتوفيق ,,
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…