تحديات برمجيةالتحدي الأول - حل التمرين الرابع بلغة C++
المطلوب
أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها arr
و يخزنه في متغير إسمه n
.
ملاحظة: عدد عناصر المصفوفة يجب أن يكون أكبر من صفر.
بعدها ينشئ المصفوفة arr
و يحدد أن عدد عناصرها هو العدد الذي أدخله المستخدم.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
بعدها يعرض للمستخدم جميع قيم عناصر المصفوفة التي قام هو بإدخالها مع وضع مسافة فارغة بين كل قيمتين.
في الأخير, يقوم بترتيب قيم عناصر المصفوفة من الأصغر إلى الأكبر و من ثم يعرضها له من جديد.
الحل بلغة C++
int main() { int n; int temp; int * arr; do { std::cout <<("Enter arr length: "); std::cin >> n; } while (n <= 0); arr = new int[n]; for (int i = 0; i < n; i++) { std::cout << "Enter arr[" << i << "]: "; std::cin >> arr[i]; } std::cout << "\nCurrent order\n"; for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (arr[j] < arr[i]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } std::cout << "\n\nAfter ascending order\n"; for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } char end; std::cin >> end; return 0; }
سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.
Enter arr[0]: 7
Enter arr[1]: 3
Enter arr[2]: 1
Enter arr[3]: 6
Enter arr[4]: 4
Current order
7 3 1 6 4
After ascending order
1 3 4 6 7