using System.Collections.Generic;
using System.Threading.Tasks;
public int Radius {get;set;}
public Circle (int radius)
public Point (int x, int y)
public int Sidelength {get;set;}
public Square (int sidelength)
public class FilehandlingAndShapeReading
public List<Circle> Circles;
public List<Point> Points;
public List<Square> Squares;
public static void Main (string [] args)
SimpleMath sm = new SimpleMath();
FilehandlingAndShapeReading fh = new FilehandlingAndShapeReading();
double sumAreaCirlce = 0;
foreach(var i in fh.Circles){
sumAreaCirlce += sm.areaCircle(i);
Console.WriteLine(sumAreaCirlce);
double sumAreaSquare = 0;
foreach(var i in fh.Squares){
sumAreaSquare += sm.areaSquare(i);
Console.WriteLine(sumAreaSquare);
foreach(var i in fh.Points){
Console.WriteLine("Point at X:"+i.X+" and Y:" + i.Y + " (Index "+index+")");
public List<Circle> getCircles ()
public List<Square> getSquares ()
public List<Point> getPoints ()
string [] Givendata = {"Circle 5","Square 3","Point 4 5" , "Circle 1","Square 8",
"Point 2 1", "Circle 9","Square 6", "Point 10 6", "Circle 17", "Square 25", "Point 11 12",
"Circle 8", "Square 7","Square 9","Square 10","Point 8 6","Point 5 2","Point 7 4"};
Circles = new List<Circle>();
Points = new List<Point>();
Squares = new List<Square>();
for(int i=0; i< Givendata.Length; i++)
string Shape = Givendata[i].Split(new char[0],StringSplitOptions.RemoveEmptyEntries)[0];
if (string.Equals (Shape,"Circle"))
int Zahl = Int32.Parse(Givendata[i].Split(new char[0],StringSplitOptions.RemoveEmptyEntries)[1]);
Circles.Add(new Circle(Zahl));
else if (string.Equals (Shape,"Square"))
int Zahl = Int32.Parse(Givendata[i].Split(new char[0],StringSplitOptions.RemoveEmptyEntries)[1]);
Squares.Add(new Square(Zahl));
else if (string.Equals (Shape,"Point"))
int X = Int32.Parse(Givendata[i].Split(new char[0],StringSplitOptions.RemoveEmptyEntries)[1]);
int Y = Int32.Parse(Givendata[i].Split(new char[0],StringSplitOptions.RemoveEmptyEntries)[2]);
Points.Add(new Point(X,Y));
public double distance (Point a, Point b)
var temp1 = Math.Pow((a.X - b.X), 2);
var temp2 = Math.Pow((a.Y - b.Y), 2);
var result = Math.Sqrt(temp1+temp2);
public double areaCircle (Circle a)
var area = Math.PI*a.Radius*a.Radius;
public int areaSquare (Square a)
var square = a.Sidelength*a.Sidelength;
public double[,] distanceMatrix (List<Point> PointsList)
SimpleMath sm = new SimpleMath();
double[,] distanceMatrix = new double[PointsList.Count,PointsList.Count] ;
foreach(var i in PointsList)
foreach(var j in PointsList)
double distance = sm.distance(i, j);
distanceMatrix[arr1, arr2] = distance;
public double nearestNeighbor (double[,] distanceMatrix, int Node)
Min = distanceMatrix [Node,0];
Min = distanceMatrix [Node,1];
for (int i=1; i< distanceMatrix.GetLength(Node);i++)
if( Min > distanceMatrix [Node, i] && i != Node)
Min = distanceMatrix [Node,i];