تحديات برمجيةالتحدي السادس - حل التمرين الخامس بلغة C
المطلوب
قم بتعريف دالة إسمها CompareArrays
, عند استدعائها نمرر لها مصفوفتين أحاديتين (عندهم بعد واحد) يحتويان على أعداد صحيحة فتقوم بمقارنتهما و من ثم طباعة ما إن كانتا متطابقتين من حيث عدد العناصر و قيمهم أم لا.
بعدها قم بإنشاء مصفوفتين أو أكثر في البرنامج و تجربة استدعاء الدالة لمعرفة ما إن كان يوجد بينهم تطابق أم لا.
الحل بلغة C
// compareArrays() هنا قمنا بتعريف الدالة void compareArrays(int arr1[], int arr1Length, int arr2[], int arr2Length) { if (arr1Length == arr2Length) { printf("They have the same length"); } else { printf("They have different length\n"); return; } for (int i = 0; i < arr1Length; i++) { if (arr1[i] != arr2[i]) { printf(" but their values are not equals\n"); return; } } printf(" and their values are equal\n"); } // compareArrays() هنا قمنا بإنشاء 4 مصفوفات أحادية و من مقارنتهم بواسطة الدالة void 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]); printf("Compare arr1 & arr2 => "); compareArrays(arr1, arr1Length, arr2, arr2Length); printf("Compare arr2 & arr3 => "); compareArrays(arr2, arr2Length, arr3, arr3Length); printf("Compare arr3 & arr4 => "); compareArrays(arr3, arr3Length, arr4, arr4Length); }
سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفات تحتوي على نفس القيم المجهزة فيها.
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