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

المطلوب

قم بتعريف دالة إسمها SquareRoot(), عند استدعاءها نمرر لها عدد, فترجع ناتج قيمة الجزر التربيعي ( Square Root ) له.
بعدها قم بتجربة هذه الدالة في البرنامج.


الحل بلغة C++

#include <iostream>

float squareRoot(int n) {
    float low = 0;
    float high = (float) n + 1;
    float mid;

    while ((high-low) > 0.00001)
	{
        mid = (low + high) / 2;
        if (mid * mid < n)
		{
            low = mid;
        }
        else
		{
            high = mid;
        }
    }
	
    return low;
}


int main() {

    int x = 5;

    std::cout << "The square root of " << 5 << " is: " << squareRoot(x);

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

}
		

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

The square root of 5 is: 2.23607
		

الدورات

أدوات مساعدة

أقسام الموقع

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