Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

พื้นที่เขียนวงกลมที่ใหญ่ที่สุดในรูปหลายเหลี่ยมปกติ N ด้านในโปรแกรม C?


ที่นี่เราจะมาดูวิธีหาพื้นที่ของวงกลมที่เขียนเป็นรูปหลายเหลี่ยมปกติด้าน N ให้ N (จำนวนด้าน) และแต่ละด้านของรูปหลายเหลี่ยมคือ 'a'

พื้นที่เขียนวงกลมที่ใหญ่ที่สุดในรูปหลายเหลี่ยมปกติ N ด้านในโปรแกรม C?

วิธีการนั้นง่าย รูปหลายเหลี่ยมด้าน N หนึ่งรูปสามารถแบ่งออกเป็นสามเหลี่ยมจำนวนเท่า N ได้ มุมทั้งหมดสำหรับสามเหลี่ยมแต่ละรูปที่อยู่ตรงกลางคือ 360/N ดังนั้น -

พื้นที่เขียนวงกลมที่ใหญ่ที่สุดในรูปหลายเหลี่ยมปกติ N ด้านในโปรแกรม C?

ตัวอย่าง

#include <iostream>
#include <cmath>
using namespace std;
float area(float n, float a) {
   if (n < 0 || a < 0 ) //if the valuse are negative it is invalid
      return -1;
   float r = a/(2.0*tan((180/n) * 3.14159/180));
   float area = 3.14159 * r*r;
   return area;
}
int main() {
   float n = 8, a = 4;
   cout << "Area : " << area(n, a);
}

ผลลัพธ์

Area : 73.2422