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

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

المطلوب

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


الحل بلغة C++

#include <iostream>

int main() {

    int n;
    int m;


    do {
        std::cout << "Enter the height: ";
        std::cin >> n;
    }
    while (n <= 0);
    
    do {
        std::cout << "Enter the width: ";
        std::cin >> m;
    }
    while (m <= 0);

    for (int i = 1; i <= n; i++)
    {
        if (i == 1 || i == n)
        {
            for (int j = 1; j <= m; j++)
            {
                std::cout << "*";
            }
        }
        else
        {
            std::cout << "*";
            for (int k = 1; k < m - 1; k++)
            {
                std::cout << " ";
            }
            std::cout << "*";
        }
        std::cout << "\n";
    }

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

}

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 5 كطول المستطيل و الرقم 10 كعرض المستطيل عند التشغيل.

Enter the height: 5
Enter the width: 10
**********
*        *
*        *
*        *
**********

و سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 10 كطول المستطيل و الرقم 5 كعرض المستطيل عند التشغيل.

Enter the height: 10
Enter the width: 5
*****
*   *
*   *
*   *
*   *
*   *
*   *
*   *
*   *
*****