تحديات برمجيةالتحدي الثالث - حل التمرين الأول بلغة C++
المطلوب
قم بتعريف دالة إسمها CountWords
, عند استدعاءها نمرر لها نص, فترجع عدد الكلمات الموجودة في هذا النص.
بعدها قم بتجربة هذه الدالة في البرنامج.
مثال: إذا قمنا باستخدام الدالة CountWords()
و تمرير النص "Programming is easy to learn."
فإنها سترجع الرقم 5.
الحل بلغة C++
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