الخوارزميات و هياكل البيانات التحدي السادس - حل التمرين الثالث بلغة C

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها arr و يخزنه في متغير إسمه n.
ملاحظة: عدد عناصر المصفوفة يجب أن يكون أكبر من صفر.
بعدها ينشئ المصفوفة arr و يحدد أن عدد عناصرها هو العدد الذي أدخله المستخدم.
بعدها يقوم بإعطاء قيمة عشوائية بين 1 و 10 لكل عنصر فيها.
في الأخير, سيعرض للمستخدم جميع القيم المخزنة فيها على سطر واحد مع وضع فاصلة بين كل قيمتين و من ثم ناتج جمع جميع العناصر.


الحل بلغة C

#include <stdio.h>
#include <stdlib.h> 
#include <time.h> 

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 عند التشغيل سنحصل على نتيجة تشبه النتيجة التالية و ليس مثلها لأنه في كل مرة نقوم فيها بتشغيل البرنامج سيتم توليد أرقام عشوائية مختلفة.

Enter array length: 10

Array values: 3, 8, 3, 6, 1, 4, 9, 9, 6, 4
Sum of all elements: 53

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة