تحديات برمجيةالتحدي الثالث - حل التمرين الثالث بلغة C
المطلوب
أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها arr
و يخزنه في متغير إسمه n
.
ملاحظة: عدد عناصر المصفوفة يجب أن يكون أكبر من صفر.
بعدها ينشئ المصفوفة arr
و يحدد أن عدد عناصرها هو العدد الذي أدخله المستخدم.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
بعدها يعرض للمستخدم جميع القيم التي أدخلها بنفس الترتيب.
في الأخير يقوم بترتيب جميع القيم بشكل عكسي ( مثلاً القيمة الأخيرة تصبح في الأول ) و من ثم يعرض قيم المصفوفة من جديد.
الحل بلغة C
void main() { int n; int *arr; int temp; do { printf("Enter arr length: "); scanf("%d", &n); } while (n <= 0); arr = malloc(n * sizeof(int)); for (int i = 0; i < n; i++) { printf("Enter arr[%d]: ", i); scanf("%d", &arr[i]); } printf("\nCurrent order\n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } for (int i = 0; i < n / 2; i++) { temp = arr[i]; arr[i] = arr[n - 1 - i]; arr[n - 1 - i] = temp; } printf("\n\nAfter reversing the order\n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } }
سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.
Enter arr[0]: 1
Enter arr[1]: 2
Enter arr[2]: 3
Enter arr[3]: 4
Current order
1 2 3 4
After reversing the order
4 3 2 1