Skip to content
Related Articles

Related Articles

Improve Article
Given equation of a circle as string, find area
  • Difficulty Level : Medium
  • Last Updated : 05 Apr, 2021

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 <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 = 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

 

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live




My Personal Notes arrow_drop_up
Recommended Articles
Page :