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

المطلوب

أكتب برنامج يطلب من المستخدم إدخال أي رقم يريد للبحث عنه بداخل مصفوفة أرقام ثنائية (ذات بعدين) جاهزة.
بعدها سيقوم البرنامج بطباعة ما إن كانت القيمة موجودة في المصفوفة أم لا.
ملاحظة: أوقف عملية البحث بمجرد إيجاد عنصر يملك نفس القيمة المراد البحث عنها.


الحل بلغة C

#include <stdio.h>
#include <stdbool.h> 

void main() {
    
    int matrix[3][3] = {
        { 1, 2, 3 },
        { 4, 5, 6 },
        { 7, 8, 9 }
    };
    
    int rows = sizeof(matrix) / sizeof(matrix[0]);
    int cols = sizeof(matrix[0]) / (sizeof(int));
	
	bool isExist = false;
    int x;
    
    printf("Enter a number: ");
    scanf("%d", &x);
    
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            if (x == matrix[i][j])
            {
                isExist = true;
                break;
            }
        }
    }
    
    if (isExist)
    {
        printf("'%d' is exist in the matrix\n", x);
    }
    else
    {
        printf("'%d' is not exist in the matrix\n", x);
    }
    
}
		

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

Enter a number: 2
'2' is exist in the matrix

الدورات

أدوات مساعدة

أقسام الموقع

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