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

المطلوب

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


الحل بلغة C

#include <stdio.h>

// 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
		

الدورات

أدوات مساعدة

أقسام الموقع

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