Mohammed Hhhh نشر 23 يونيو 2022 أرسل تقرير نشر 23 يونيو 2022 السلام عليكم ورحمة الله وبركاته الآن هنا لدي مشكله في هذا البرنامج اريد مع كل لوب يعمله ال for-loop يتغير ال random - number فــ ما هو الخطأ الذي لدي في هذا الكود #include <iostream> using namespace std; int main(){ int a; int list_of_random_numbers[4]; for (int s = 0; s <= 3; s++) { srand(time(0)); a = rand() % 3; list_of_random_numbers[s] = a; cout << "random number --> " << list_of_random_numbers[s]; cout << endl; } return 0; } 1 اقتباس
0 Wael Aljamal نشر 23 يونيو 2022 أرسل تقرير نشر 23 يونيو 2022 سبب المشكلة أن تقوم بضبط مولد العدد العشوائي بنفس القيمة الابتدائية ضمن كل تكرار للحلقة، ما يعمل على تثبيت هذه القيمة. أي عند جلب عدد عشوائي مرى أخرى ستكون نفسها. الحل هو نقل srand لقبل الحلقة فيتم تهيئته مرة واحدة مجالك للأعداد صغير بطول 3 لذلك تكرار قيمة منه احتماله عال.. #include <iostream> using namespace std; int main(){ int a; int list_of_random_numbers[4]; srand(time(0)); for (int s = 0; s <= 10; s++) { a = rand() % 100; cout << a ; list_of_random_numbers[s] = a; // cout << "random number --> " << list_of_random_numbers[s]; cout << endl; } return 0; } النتيجة بحال توسعة المجالات وعدد الأعداد العشوائية التي يتم إنشائها. 67 0 93 66 13 41 93 27 93 94 36 اقتباس
0 Mohammed Hhhh نشر 24 يونيو 2022 الكاتب أرسل تقرير نشر 24 يونيو 2022 بتاريخ On 6/23/2022 at 19:48 قال Wael Aljamal: سبب المشكلة أن تقوم بضبط مولد العدد العشوائي بنفس القيمة الابتدائية ضمن كل تكرار للحلقة، ما يعمل على تثبيت هذه القيمة. أي عند جلب عدد عشوائي مرى أخرى ستكون نفسها. الحل هو نقل srand لقبل الحلقة فيتم تهيئته مرة واحدة مجالك للأعداد صغير بطول 3 لذلك تكرار قيمة منه احتماله عال.. #include <iostream> using namespace std; int main(){ int a; int list_of_random_numbers[4]; srand(time(0)); for (int s = 0; s <= 10; s++) { a = rand() % 100; cout << a ; list_of_random_numbers[s] = a; // cout << "random number --> " << list_of_random_numbers[s]; cout << endl; } return 0; } النتيجة بحال توسعة المجالات وعدد الأعداد العشوائية التي يتم إنشائها. 67 0 93 66 13 41 93 27 93 94 36 السلام عليكم \ الكود لا يعمل لا اعلم ما هو السبب ثانيا انا اريد ان LOOP تلف 3 مرات و في هذه ال 3 مرات تعطيني 3 ارقام غير مرتبه من رقم 1 الى 3 بأستخدام ال RAND و شكرا اقتباس
0 Wael Aljamal نشر 24 يونيو 2022 أرسل تقرير نشر 24 يونيو 2022 بتاريخ 2 دقائق مضت قال Mohammmed Mahmoud: السلام عليكم \ الكود لا يعمل لا اعلم ما هو السبب ثانيا انا اريد ان LOOP تلف 3 مرات و في هذه ال 3 مرات تعطيني 3 ارقام غير مرتبه من رقم 1 الى 3 بأستخدام ال RAND و شكرا الشيفرة المرفقة مجربة، وفي حال ظهر لك خطأ يمكنك إرفاقه، و ذكرت أنني قمت بتعديل المجال للارقام لتوضيح عملية الإنشاء العشوائي للقيم المختلفة. اقتباس
0 Mohammed Hhhh نشر 24 يونيو 2022 الكاتب أرسل تقرير نشر 24 يونيو 2022 بتاريخ 7 دقائق مضت قال Wael Aljamal: الشيفرة المرفقة مجربة، وفي حال ظهر لك خطأ يمكنك إرفاقه، و ذكرت أنني قمت بتعديل المجال للارقام لتوضيح عملية الإنشاء العشوائي للقيم المختلفة. صحيح لقد اخطأت انا شيفرتكت صحيحه و لكن انا اريد ان تمر فقط بي 1 // 3 و اريد ان يلف اللوب فقط 3 لفات و شكرا اقتباس
0 Wael Aljamal نشر 24 يونيو 2022 أرسل تقرير نشر 24 يونيو 2022 بتاريخ 18 دقائق مضت قال Mohammmed Mahmoud: صحيح لقد اخطأت انا شيفرتكت صحيحه و لكن انا اريد ان تمر فقط بي 1 // 3 و اريد ان يلف اللوب فقط 3 لفات و شكرا تمام، يمكنك تعديل القيم. مجال الحلقة و باقي القسمة بدل 100 ضع 3 اقتباس
السؤال
Mohammed Hhhh
السلام عليكم ورحمة الله وبركاته
الآن هنا لدي مشكله في هذا البرنامج
اريد مع كل لوب يعمله ال for-loop يتغير ال random - number فــ ما هو الخطأ الذي لدي في هذا الكود
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.