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

تحديات برمجيةالتحدي السادس - حل التمرين الرابع بلغة C++

المطلوب

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


الحل بلغة C++

#include <iostream>
#include <string>

// printLongestName() هنا قمنا بتعريف الدالة
void printLongestName(std::string arr[], int arrLength) {

    int longestWordLength = 0;
    int longestWordIndex = 0;

    for (int i = 0; i < arrLength; i++)
    {
        if (arr[i].length() > longestWordLength)
        {
            longestWordLength = arr[i].length();
            longestWordIndex = i;
        }
    }

    std::cout << "The longest name is '" << arr[longestWordIndex] << "', which is contain " << longestWordLength << " characters ";
}

// printLongestName() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
int main() {

    std::string names[] = { "Mhamad", "Abdullah", "Rami", "Zeina", "Marwa" };
    int arrLength = sizeof(names) / sizeof(names[0]);

    printLongestName(names, arrLength);

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

}

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

The longest name is 'Abdullah', which is contain 8 characters