using
System;
using
System.Collections.Generic;
class
GFG {
public
static
Tuple<
double
,
double
>
GetPolarForm(
double
re,
double
im)
{
double
r = Math.Sqrt(re * re + im * im);
if
(r > 0) {
double
theta = Math.Asin(im / r);
return
Tuple.Create(r, theta);
}
else
{
return
Tuple.Create(0.00, 0.00);
}
}
public
static
Tuple<
double
,
double
>
Addition(Tuple<
double
,
double
> z1,
Tuple<
double
,
double
> z2)
{
double
r1 = z1.Item1;
double
theta1 = z1.Item2;
double
r2 = z2.Item1;
double
theta2 = z2.Item2;
double
a
= r1 * Math.Cos(theta1) + r2 * Math.Cos(theta2);
double
b
= r1 * Math.Sin(theta1) + r2 * Math.Sin(theta2);
return
GetPolarForm(a, b);
}
public
static
Tuple<
double
,
double
>
Subtraction(Tuple<
double
,
double
> z1,
Tuple<
double
,
double
> z2)
{
double
r1 = z1.Item1;
double
theta1 = z1.Item2;
double
r2 = z2.Item1;
double
theta2 = z2.Item2;
double
a
= r1 * Math.Cos(theta1) - r2 * Math.Cos(theta2);
double
b
= r1 * Math.Sin(theta1) - r2 * Math.Sin(theta2);
return
GetPolarForm(a, b);
}
public
static
Tuple<
double
,
double
>
Multiplication(Tuple<
double
,
double
> z1,
Tuple<
double
,
double
> z2)
{
double
r1 = z1.Item1;
double
theta1 = z1.Item2;
double
r2 = z2.Item1;
double
theta2 = z2.Item2;
return
Tuple.Create(r1 * r2, theta1 + theta2);
}
public
static
Tuple<
double
,
double
>
Division(Tuple<
double
,
double
> z1,
Tuple<
double
,
double
> z2)
{
double
r1 = z1.Item1;
double
theta1 = z1.Item2;
double
r2 = z2.Item1;
double
theta2 = z2.Item2;
return
Tuple.Create(r1 / r2, theta1 - theta2);
}
public
static
void
Main(
string
[] args)
{
Tuple<
double
,
double
> z1 = Tuple.Create(2.0, 3.0);
Tuple<
double
,
double
> z2 = Tuple.Create(4.0, 6.0);
var
z1_polar = GetPolarForm(z1.Item1, z1.Item2);
var
z2_polar = GetPolarForm(z2.Item1, z2.Item2);
Console.WriteLine(
"Polar form of the first Complex Number: "
+ z1_polar.Item1 +
" "
+ z1_polar.Item2);
Console.WriteLine(
"Polar form of the Second Complex Number: "
+ z2_polar.Item1 +
" "
+ z2_polar.Item2);
Console.WriteLine(
"Addition of two Complex Numbers: "
+ Addition(z1_polar, z2_polar));
Console.WriteLine(
"Subtraction of two Complex Numbers: "
+ Subtraction(z1_polar, z2_polar));
Console.WriteLine(
"Multiplication of two Complex Numbers: "
+ Multiplication(z1_polar, z2_polar));
Console.WriteLine(
"Division of two Complex Numbers: "
+ Division(z1_polar, z2_polar));
}
}