إعلان
تعلم الآن

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

المطلوب

قم بتعريف دالة إسمها CountOccurrences, عند استدعاءها نمرر لها نصيّن, فترجع عدد صحيح يمثل كم مرة النص الثاني مكرر في النص الأول.
بعدها قم بتجربة هذه الدالة في البرنامج مع جعل المستخدم هو من يدخل النصيّن.

مثال: إذا قمنا باستخدام الدالة CountOccurrences() لمعرفة كم مرة تكررت الكلمة cat في النص I like cats. I have one cat called Lola فإنها سترجع الرقم 2.


الحل بلغة C

#include <stdio.h>
#include <string.h>
#include <stdbool.h> 
#define MAX_SIZE 1000

int countOccurrences(char * text, char * keyword)
{
    int count = 0;
    bool found;

    int textLength = strlen(text);
    int keywordLength = strlen(keyword);

    for (int i = 0; i <= textLength - keywordLength; i++)
    {
        found = true;
        
        for (int j = 0; j < keywordLength; j++)
        {
            if(text[i + j] != keyword[j])
            {
                found = false;
                break;
            }
        }

        if(found == true)
        {
            count++;
        }
    }

    return count;
}


void main() {
    
    char text[MAX_SIZE];
    char keyword[MAX_SIZE];
    int count;

    printf("Enter any string: ");
    gets(text);
    
    printf("Enter word to search occurrences: ");
    gets(keyword);

    count = countOccurrences(text, keyword);

    printf("Total occurrences of '%s': %d", keyword, count);

}
		

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

Enter any text: I like cats. I have one cat called Lola
Enter word to search occurrences: cat
Total occurrences of 'cat' is: 2
إعلان
دورة قواعد بيانات MySQL في هذه الدورة ستتعلم أساسيات قواعد البيانات و أوامر SQL، العلاقات (Join) بين الجداول، Normalization مع تطبيق مشروع متكامل. سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
تعلم الآن

الدورات

أدوات مساعدة

أقسام الموقع

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