تحديات برمجيةالتحدي السادس - حل التمرين الثالث بلغة C
المطلوب
أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها arr
و يخزنه في متغير إسمه n
.
ملاحظة: عدد عناصر المصفوفة يجب أن يكون أكبر من صفر.
بعدها ينشئ المصفوفة arr
و يحدد أن عدد عناصرها هو العدد الذي أدخله المستخدم.
بعدها يقوم بإعطاء قيمة عشوائية بين 1 و 10 لكل عنصر فيها.
في الأخير, سيعرض للمستخدم جميع القيم المخزنة فيها على سطر واحد مع وضع فاصلة بين كل قيمتين و من ثم ناتج جمع جميع العناصر.
الحل بلغة C
void main() { // هنا قمنا بجعل الرقم العشوائي يتم توليده بالإعتماد على وقت جهاز المستخدم كنقطة بداية // C ملاحظة: هذه الطريقة, هي الطريقة المعتمدة في التحضير لتوليد أرقام عشوائية في لغة srand(time(0)); int n; int s = 0; do { printf("Enter array length: "); scanf("%d", &n); } while(n <= 0); int arr[n]; for (int i = 0; i < n; i++) { arr[i] = (rand() % 10) + 1; } printf("\nArray values: "); for (int i = 0; i < n; i++) { printf("%d", arr[i]); if (i < n - 1) { printf(", "); } } for (int i = 0; i < n; i++) { s += arr[i]; } printf("\nSum of all elements: %d", s); }
في حال تم إدخال الرقم 10 عند التشغيل سنحصل على نتيجة تشبه النتيجة التالية و ليس مثلها لأنه في كل مرة نقوم فيها بتشغيل البرنامج سيتم توليد أرقام عشوائية مختلفة.
Array values: 3, 8, 3, 6, 1, 4, 9, 9, 6, 4
Sum of all elements: 53