الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج يحاكي دالة random او randomize إذا ممكن

مغلق
بدأه منار 22 في 25 أبريل 2004 · 2 رد · 733 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هل هناك امكانية لعمل برنامج يحاكي دالة random و randomize اي انه يقوم بنفس عملهم , و اذا كان الجواب ايوا كيف راح يكون هذا البرنامج ؟؟ ا

نا حاولت بس ما وصلت لأي شي لو تساعدوني اكون شاكره لكم .

اختكم منار

#2

السلام عليكم

نعم يوجد 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 : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#3

السلام عليكم ,,

بالضبط فايجاد قيم عشوائية يحتاج لدالة عشوائية أيضا ,, أي أن ليس لها نمط ثابت ,, وايجاد دالة كهذه لايمكن بالطرق العادية,, حيث أن كل المعادلات لها صيغ ثابتة حتى لو اتسع مجالها وتعقدت ,, فتبقى في النهاية محدودة بقيم وستعطي نفس القيم لو ادخلت لها نفس المتغيرات ,,

لذا أفضل طريقة وأسرعها هو الاعتماد على الزمن حيث انه متغير دائما ,, ويكون عشوائيا كلما تمت استدعاء دالة ال rand التي ستستفيد من الزمن ,, ويمكن تعقييد معادلة الزمن بادخال اليوم والتاريخ فيها ,,

بالتوفيق ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…