المشكلة في الكود تكمن في طريقة حساب الأعداد الزوجية والفردية. في الحلقة التي تقوم فيها بحساب الأعداد الفردية والزوجية، يجب أن تبدأ بتهيئة المتغيرات even
و odd
بقيمة 0 قبل أن تبدأ في عد الأعداد الفردية والزوجية. هذا لأن المتغيرات even
و odd
لا تقوم بتهيئتها بشكل صحيح، لذا قيمتهم الابتدائية غير معروفة، مما يؤدي إلى تصنيف الأعداد بشكل غير صحيح.
اليك الجزء المعدل من الكود:
-
استرجاع التاريخ بثلاث فترات زمنية14/04/2024
-
تحسين أداء برنامج C++ وتقليل تسرب الذاكرة06/04/2024
cppint main()
{
int i, t, x[20], even = 0, odd = 0, prime;
cout << "Enter 20 integer numbers from 0 to 99: " << endl;
for (i = 0; i < 20; i++)
{
cout << "Input " << i + 1 << ": ";
cin >> x[i];
}
cout << "\nPrime numbers are: " << endl;
for (i = 0; i < 20; i++)
{
prime = 1;
for (t = 2; t < x[i]; t++)
{
if (x[i] % t == 0)
{
prime = 0;
break;
}
}
if (prime == 1)
{
cout << x[i] << endl;
}
}
for (i = 0; i < 20; i++)
{
if (x[i] % 2 == 0)
{
even++;
}
else
{
odd++;
}
}
cout << "Number of odd numbers: " << odd << "\n";
cout << "Number of even numbers: " << even << "\n";
return 0;
}
هذه التعديلات ستساعد في حل مشكلتك وستظهر النتائج الصحيحة لعدد الأعداد الفردية والزوجية.
المزيد من المعلومات
لديك برنامج C++ تقوم فيه بحساب مجموع الأعداد الفردية والزوجية من بين 20 عددًا تم إدخالها بين 0 و99. الكود يحتاج إلى تعديل بسيط لحساب الأعداد الفردية والزوجية بشكل صحيح. في الحلقة التي تقوم فيها بحساب الأعداد الفردية والزوجية، تأكد من تهيئة المتغيرات even
و odd
بقيمة 0 قبل البدء في عد الأعداد. هذا سيحل مشكلتك ويظهر النتائج الصحيحة لعدد الأعداد الفردية والزوجية.