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

المطلوب

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


الحل بلغة C++

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {

	// هنا قمنا بجعل الرقم العشوائي يتم توليده بالإعتماد على وقت جهاز المستخدم كنقطة بداية
	// C++ ملاحظة: هذه الطريقة, هي الطريقة المعتمدة في التحضير لتوليد أرقام عشوائية في لغة
	srand((unsigned) time(0));

	int n;
	int s = 0;
	int *arr;

	do
	{
		std::cout << "Enter array length: ";
		std::cin >> n;
	}
	while (n <= 0);

	arr = new int[n];

	for (int i = 0; i < n; i++)
	{
		arr[i] = (rand() % 10) + 1;
	}

	std::cout << "\nArray values: ";

	for (int i = 0; i < n; i++)
	{
		std::cout << arr[i];

		if (i < n - 1)
		{
			std::cout << ", ";
		}
	}

	for (int i = 0; i < n; i++)
	{
		s += arr[i];
	}

	std::cout << "\nSum of all elements: " << s;

	char end; std::cin >> end;
	return 0;

}
		

في حال تم إدخال الرقم 10 عند التشغيل سنحصل على نتيجة تشبه النتيجة التالية و ليس مثلها لأنه في كل مرة نقوم فيها بتشغيل البرنامج سيتم توليد أرقام عشوائية مختلفة.

Enter array length: 10

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

الدورات

أدوات مساعدة

أقسام الموقع

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