Open In App

Given equation of a circle as string, find area

Improve
Improve
Like Article
Like
Save
Share
Report

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).

 

Below is the implementation of the above approach:
 

C++




// C++ program to find area of circle 
// when equation of circle give.
  
#include <bits/stdc++.h>
#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 += 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


Javascript




<script>
  
// JavaScript program to find area of circle 
// when equation of circle give.
  
    let PI = 3.142;
        
    // Function to find the area
    function findArea(radius)
    {
        return PI * Math.pow(radius, 2);
    }
        
    // Function to return the value of radius
    function findradius(str)
    {
        let radius = 0;
            
        // For storing the value of radius * radius
        let st = "";
    
        // For counting the number of spaces
        // in the string
        let c = 0;
    
        // calculate the length of the
        let len = str.length;
            
        // getting the value of radius * radius
        // After = sign
        for (let 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 = Math.sqrt(
                            parseInt(st));
        return radius;
    }
  
// Driver program
  
        // Static input for equation of circle
        let str = "X*X + Y*Y = 100";
    
        // calling the Function
        let radius = findradius(str);
    
        // Display the result
        document.write("The area of circle"
                  + " centered at origin is : "
                              + findArea(radius));
          
        // This code is contributed by susmitakundugoaldanga.
</script>


Output: 

The area of circle centered at origin is : 314.2

 

Time complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n), for storing the value of R2 in string str.



Last Updated : 20 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads