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

المطلوب

قم بتعريف دالة إسمها CompareArrays, عند استدعائها نمرر لها مصفوفتين أحاديتين (عندهم بعد واحد) يحتويان على أعداد صحيحة فتقوم بمقارنتهما و من ثم طباعة ما إن كانتا متطابقتين من حيث عدد العناصر و قيمهم أم لا.
بعدها قم بإنشاء مصفوفتين أو أكثر في البرنامج و تجربة استدعاء الدالة لمعرفة ما إن كان يوجد بينهم تطابق أم لا.


الحل بلغة C++

#include <iostream>

// compareArrays() هنا قمنا بتعريف الدالة
void compareArrays(int arr1[], int arr1Length, int arr2[], int arr2Length) {
	if (arr1Length == arr2Length)
	{
		std::cout << "They have the same length";
	}
	else
	{
		std::cout << "They have different length\n";
		return;
	}

	for (int i = 0; i < arr1Length; i++)
	{
		if (arr1[i] != arr2[i])
		{
			std::cout << " but their values are not equals\n";
			return;
		}
	}

	std::cout << " and their values are equal\n";
}

// compareArrays() هنا قمنا بإنشاء 4 مصفوفات أحادية و من مقارنتهم بواسطة الدالة
int main() {

	int arr1[] = { 1, 2, 3, 4, 5 };
	int arr2[] = { 1, 2, 3, 4, 5 };
	int arr3[] = { 1, 2, 3, 6, 8 };
	int arr4[] = { 1, 2, 3, 4 };

	int arr1Length = sizeof(arr1) / sizeof(arr1[0]);
	int arr2Length = sizeof(arr2) / sizeof(arr2[0]);
	int arr3Length = sizeof(arr3) / sizeof(arr3[0]);
	int arr4Length = sizeof(arr4) / sizeof(arr4[0]);

	std::cout << "Compare arr1 & arr2 => ";
	compareArrays(arr1, arr1Length, arr2, arr2Length);

	std::cout << "Compare arr2 & arr3 => ";
	compareArrays(arr2, arr2Length, arr3, arr3Length);

	std::cout << "Compare arr3 & arr4 => ";
	compareArrays(arr3, arr3Length, arr4, arr4Length);

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

}
		

سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفات تحتوي على نفس القيم المجهزة فيها.

Compare arr1 & arr2 => They have the same length and their values are equal
Compare arr2 & arr3 => They have the same length but their values are not equals
Compare arr3 & arr4 => They have different length
		

الدورات

أدوات مساعدة

أقسام الموقع

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