تحديات برمجيةالتحدي السادس - حل التمرين الخامس بلغة C++
المطلوب
قم بتعريف دالة إسمها CompareArrays
, عند استدعائها نمرر لها مصفوفتين أحاديتين (عندهم بعد واحد) يحتويان على أعداد صحيحة فتقوم بمقارنتهما و من ثم طباعة ما إن كانتا متطابقتين من حيث عدد العناصر و قيمهم أم لا.
بعدها قم بإنشاء مصفوفتين أو أكثر في البرنامج و تجربة استدعاء الدالة لمعرفة ما إن كان يوجد بينهم تطابق أم لا.
الحل بلغة C++
// 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