Related Articles
Given equation of a circle as string, find area
• Difficulty Level : Medium
• Last Updated : 14 Nov, 2019

Given an equation of the circle X2 + Y2 = R2 whose center at origin (0, 0) and the radius is R. The task is to find area of circle.

Examples :

```Input :
X*X + Y*Y = 25
Output :
The area of circle centered at origin  is : 78.55

Input :
X*X + Y*Y = 64
Output :
The area of circle centered at origin  is : 201.088
```

## Approach

• Given an equation X2 + Y2 = R2 and store it into string ‘str’.
• Count length of string and store it into ‘len’.
• Start loop from 0 to len – 1 and check if str[i] == ‘=’.
• Store characters after ‘=’ into string variable st.
• Convert string ‘st’ into digits and store it into ‘radius_square’.
• Use formula Pi * R2 to find area of circle(multiply by Pi).

## C++

 `// C++ program to find area of circle  ` `// when equation of circle give. ` ` `  `#include ` `#define PI 3.142 ` `using` `namespace` `std; ` ` `  `// Function to find the area ` `double` `findArea(``double` `radius) ` `{ ` `    ``return` `PI * ``pow``(radius, 2); ` `} ` ` `  `// Function to return the value of radius ` `static` `double` `findradius(string str) ` `{ ` `     `  `    ``// Initialization ` `    ``double` `radius = 0; ` `     `  `    ``// For storing the value of R*R ` `    ``string st = ``""``; ` ` `  `    ``// For counting the number of ` `    ``// spaces in the string ` `    ``int` `c = 0; ` ` `  `    ``// calculate the length of the ` `    ``int` `len = str.length(); ` ` `  `    ``// getting the value of R*R ` `    ``// After = sign ` `    ``for` `(``int` `i = 0; i < len; i++) { ` `        ``if` `(str[i] == ``'='``) { ` `            ``c = 1; ` `        ``} ` `        ``else` `if` `(c == 1 && str[i] != ``' '``) { ` `            ``st = st + str[i]; ` `        ``} ` `    ``} ` ` `  `    ``// Converting the digits into integer ` `    ``// Taking square root of that number ` `    ``radius = (``double``)``sqrt``(stoi(st)); ` `    ``return` `radius; ` `} ` ` `  `int` `main() ` `{ ` ` `  `    ``// Static input for equation  ` `    ``// of circle ` `    ``string str = ``"X*X + Y*Y = 100"``; ` ` `  `    ``// calling the Function ` `    ``double` `radius = findradius(str); ` ` `  `    ``// Display the result ` `    ``cout << ``"The area of circle "` `<< ` `       ``"centered at origin is : "` `<<  ` `           ``findArea(radius) << endl; ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java program to find area of circle  ` `// when equation of circle give. ` `import` `java.io.*; ` ` `  `public` `class` `GFG { ` ` `  `    ``static` `double` `PI = ``3.142``; ` `     `  `    ``// Function to find the area ` `    ``static` `double` `findArea(``double` `radius) ` `    ``{ ` `        ``return` `PI * Math.pow(radius, ``2``); ` `    ``} ` `     `  `    ``// Function to return the value of radius ` `    ``static` `double` `findradius(String str) ` `    ``{ ` `        ``double` `radius = ``0``; ` `         `  `        ``// For storing the value of radius * radius ` `        ``String st = ``""``; ` ` `  `        ``// For counting the number of spaces ` `        ``// in the string ` `        ``int` `c = ``0``; ` ` `  `        ``// calculate the length of the ` `        ``int` `len = str.length(); ` `         `  `        ``// getting the value of radius * radius ` `        ``// After = sign ` `        ``for` `(``int` `i = ``0``; i < len; i++) { ` `            ``if` `(str.charAt(i) == ``'='``) { ` `                ``c = ``1``; ` `            ``} ` `            ``else` `if` `(c == ``1` `&& str.charAt(i) != ``' '``) ` `            ``{ ` `                ``st = st + str.charAt(i); ` `            ``} ` `        ``} ` ` `  `        ``// Converting the digits into integer ` `        ``// Taking square root of that number ` `        ``if` `(c == ``1``) ` `            ``radius = (``double``)Math.sqrt( ` `                            ``Integer.parseInt(st)); ` `        ``return` `radius; ` `    ``} ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// Static input for equation of circle ` `        ``String str = ``"X*X + Y*Y = 100"``; ` ` `  `        ``// calling the Function ` `        ``double` `radius = findradius(str); ` ` `  `        ``// Display the result ` `        ``System.out.println(``"The area of circle"` `                  ``+ ``" centered at origin is : "` `                              ``+ findArea(radius)); ` `    ``} ` `} `

## Python3

 `# python program to find area of circle  ` `# when equation of circle give. ` ` `  `import` `math ` ` `  `# Function to find the area ` `def` `findArea(radius): ` `     `  `    ``return` `math.pi ``*` `pow``(radius, ``2``) ` ` `  `# Function to return the value of radius ` `def` `findradius(``str``): ` `     `  `    ``#Initialization ` `    ``radius ``=` `0` `     `  `    ``# For storing the value of R*R ` `    ``st ``=` `"" ` ` `  `    ``# For counting the number of ` `    ``# spaces in the string ` `    ``c ``=` `0` ` `  `    ``# calculate the length of the ` `    ``Len` `=` `len``(``str``) ` ` `  `    ``# getting the value of R*R ` `    ``# After = sign ` `    ``for` `i ``in` `range``(``0``, ``Len``): ` `        ``if` `(``str``[i] ``=``=` `'='``): ` `            ``c ``=` `1` `        ``elif` `(c ``=``=` `1` `and` `str``[i] !``=` `' '``): ` `            ``st ``=` `st ``+` `str``[i] ` `         `  `    ``# Converting the digits into integer ` `    ``# Taking square root of that number ` `    ``radius ``=` `float``(math.sqrt(``float``(st))) ` `    ``return` `radius ` ` `  `# Static input for equation  ` `# of circle ` `str` `=` `"X*X + Y*Y = 100"` ` `  `# calling the Function ` `radius ``=` `findradius(``str``) ` ` `  `# Display the result ` `print``( ``"The area of circle "` `, ` `"centered at origin is : "` `, ` `    ``(findArea(radius))) ` ` `  ` `  `# This code is contributed by Sam007. `

## C#

 `// C# program to find area of circle  ` `// when equation of circle give. ` `using` `System; ` ` `  `class` `GFG ` `{ ` `    ``// Function to find the area ` `    ``static` `double` `findArea(``double` `radius) ` `    ``{ ` `        ``return` `Math.PI * Math.Pow(radius, 2); ` `    ``} ` `     `  `    ``// Function to return the value of radius ` `    ``static` `double` `findradius(``string` `str) ` `    ``{ ` `        ``double` `radius = 0; ` `         `  `        ``// For storing the value ` `        ``// of radius * radius ` `        ``String st = ``""``; ` ` `  `        ``// For counting the number  ` `        ``// of spaces in the string ` `        ``int` `c = 0; ` ` `  `        ``// calculate the length of the ` `        ``int` `len = str.Length; ` `         `  `        ``// getting the value of radius * radius ` `        ``// After = sign ` `        ``for` `(``int` `i = 0; i < len; i++)  ` `        ``{ ` `            ``if` `(str[i] == ``'='``)  ` `            ``{ ` `                ``c = 1; ` `            ``} ` `            ``else` `if` `(c == 1 && str[i] != ``' '``) ` `            ``{ ` `                ``st = st + str[i]; ` `            ``} ` `        ``} ` ` `  `        ``// Converting the digits into integer ` `        ``// Taking square root of that number ` `        ``if` `(c == 1) ` `            ``radius = (``double``)Math.Sqrt( ` `                        ``int``.Parse(st)); ` `        ``return` `radius; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``// Static input for equation of circle ` `        ``string` `str = ``"X*X + Y*Y = 100"``; ` ` `  `        ``// calling the Function ` `        ``double` `radius = findradius(str); ` ` `  `        ``// Display the result ` `        ``Console.WriteLine(``"The area of circle"` `+ ` `                          ``" centered at origin is : "` `+ ` `                          ``System.Math.Round(findArea(radius),1));  ` `    ``} ` `} ` ` `  `// This code is contributed by Sam007 `

Output:

```The area of circle centered at origin is : 314.2
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :