البرمجة

تصنيف وعرض الأعداد: ترتيب الأزواج والفرديات ببرنامج Java

في البداية، يظهر الكود الذي قدمته كودٍ جيد للتحقق من الأرقام الزوجية والفردية في مصفوفة وطباعتها بترتيب تصاعدي للأرقام الزوجية وتنازلي للأرقام الفردية. لكن، يبدو أنك تحتاج إلى إضافة ميزة للعثور على القيمة الصغرى والكبيرة للأرقام الفردية.

لتحقيق ذلك، يمكنك استخدام متغيرين لتتبع القيمة الصغرى والكبيرة للأرقام الفردية أثناء تمرير العناصر. فيما يلي تعديل للجزء الخاص بالأرقام الفردية في الكود:

java
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter the size of the array: "); int n = sc.nextInt(); int s[] = new int[n]; for (int i = 0; i < n; i++) { int e = sc.nextInt(); s[i] = e; } Arrays.sort(s); System.out.println("\nEven numbers in ascending order:"); for (int j = 0; j < n; j++) { if (s[j] % 2 == 0) { System.out.print(s[j] + " "); } } // Initialize min and max for odd numbers int minOdd = Integer.MAX_VALUE; int maxOdd = Integer.MIN_VALUE; System.out.println("\nOdd numbers in descending order:"); for (int j = (n - 1); j >= 0; j--) { if (s[j] % 2 == 1) { System.out.print(s[j] + " "); // Update min and max for odd numbers minOdd = Math.min(minOdd, s[j]); maxOdd = Math.max(maxOdd, s[j]); } } System.out.println("\nMin for odd numbers: " + minOdd); System.out.println("Max for odd numbers: " + maxOdd); }

في هذا التعديل، تم إضافة متغيرين minOdd و maxOdd لتخزين القيم الصغرى والكبيرة للأرقام الفردية على التوالي. يتم تحديث هذين المتغيرين أثناء تمرير العناصر الفردية في المصفوفة، وبعد الانتهاء من الطباعة، يتم طباعة القيم المحددة لـ min و max للأرقام الفردية.

المزيد من المعلومات

بالطبع، دعونا نوسع قليلاً على الكود ونقدم بعض المعلومات الإضافية حول ما تم تحسينه وكيف يعمل البرنامج.

أولًا وقبل كل شيء، يتيح البرنامج للمستخدم إدخال حجم المصفوفة باستخدام Scanner، مما يجعله أكثر تفاعلًا مع المستخدم. بمجرد إدخال الأحجام، يُطلب من المستخدم إدخال العناصر في المصفوفة.

البرنامج يستخدم ثمانية أنواع بيانية صحيحة int لتخزين القيم في المصفوفة ويستفيد من تصنيفات الأرقام الزوجية والفردية باستخدام عمليات القسمة على 2.

الجزء المهم هو الحلقات التي تقوم بفرز الأرقام وطباعتها. يتم فرز الأرقام الزوجية بشكل مباشر بترتيب تصاعدي باستخدام Arrays.sort(s)، ثم يتم طباعتها.

أما بالنسبة للأرقام الفردية، تم تحديد متغيرات minOdd و maxOdd بقيم مبدئية لتكون Integer.MAX_VALUE و Integer.MIN_VALUE على التوالي. هذه القيم تضمن أن أي قيمة فعلية ستكون أقل من minOdd وأعلى من maxOdd في المرحلة الأولى.

ثم يتم تحديث هذين المتغيرين أثناء تمرير الأرقام الفردية في المصفوفة، وعند الانتهاء من طباعة الأرقام الفردية، يتم طباعة القيم المحددة لـ minOdd و maxOdd.

بهذا الشكل، يمكن للبرنامج التفاعل مع البيانات المدخلة بشكل فعّال وطباعة النتائج المطلوبة بشكل صحيح ومنظم.

زر الذهاب إلى الأعلى