Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي الثالث - حل التمرين الأول بلغة C++

المطلوب

قم بتعريف دالة إسمها CountWords, عند استدعاءها نمرر لها نص, فترجع عدد الكلمات الموجودة في هذا النص.
بعدها قم بتجربة هذه الدالة في البرنامج.

مثال: إذا قمنا باستخدام الدالة CountWords() و تمرير النص "Programming is easy to learn." فإنها سترجع الرقم 5.


الحل بلغة C++

#include <iostream>
#include <string>

int countWords(std::string s) {

    if (s.empty())
    {
        return 0;
    }

    int counter = 0;
    
    // هذه الإضافة سببها هو سواء كان يوجد مسافة فارغة في آخر النص أم لا يوجد, فإنها لن تؤثر على النتيجة
    s += " ";

    for (int i = 0; i < s.length() - 1; i++)
    {
        if (s[i] != ' ' && s[i+1] == ' ')
        {
            counter++;
        }

    }

    return counter;
}

int main() {

    std::string text = "Programming is easy to learn.";
    int numberOfWords = countWords(text);

    std::cout << "Total words: " << numberOfWords;

    char end; std::cin >> end;
    return 0;

}

سنحصل على النتيجة التالية عند التشغيل.

Total words: 5