static void Main() { Point p = new Point(); p.Display(); Console.WriteLine("p.Area для Point = " + p.Area); p = new Circle(1, 2, 6); p.Display(); Console.WriteLine("p.Area для Circle = " + p.Area); p = new Square(3, 5, 8); p.Display(); Console.WriteLine("p.Area для Square = " + p.Area); Console.WriteLine(); Point[] array = FigArray(); int circleCount = array.Count(x => x is Circle); int squareCount = array.Count(x => x is Square); Console.WriteLine($"CIRCLES. Count: {circleCount}; " + $"Average area: {array.Sum(x => x is Circle ? x.Area : 0) / circleCount:f3}; " + $"Average perimeter: {array.Sum(x => x is Circle y ? y.Len : 0) / circleCount:f3}"); Console.WriteLine($"SQUARES. Count: {squareCount}; " + $"Average area: {array.Sum(x => x is Square ? x.Area : 0) / squareCount:f3}; " + $"Average perimeter: {array.Sum(x => x is Square y ? y.Len : 0) / squareCount:f3}"); Array.Sort(array, (x, y) => x.Area.CompareTo(y.Area)); Array.ForEach(array, x => x.Display()); }
static void Main(string[] args) { Point point = new Point(); point.Display(); Console.WriteLine($"point.Area для Point = {point.Area}"); point = new Circle(1, 2, 6); point.Display(); Console.WriteLine($"point.Area для Circle = {point.Area}"); point = new Square(3, 5, 8); point.Display(); Console.WriteLine($"point.Area для Square = {point.Area}"); Console.ReadLine(); }
static void Main() { Point p = new Point(); p.Display(); Console.WriteLine("p.Area для Point = " + p.Area); p = new Circle(1, 2, 6); p.Display(); Console.WriteLine("p.Area для Circle = " + p.Area); p = new Square(3, 5, 8); p.Display(); Console.WriteLine("p.Area для Square = " + p.Area); Point[] points; int numberOfCircles; int numberOfSquares; FigArray(out points, out numberOfCircles, out numberOfSquares); double areaOfCircles = 0; double perimeterOfCircles = 0; double areaOfSquares = 0; double perimeterOfSquares = 0; double[] areas = new double[points.Length]; for (int i = 0; i < points.Length; i++) { areas[i] = points[i].Area; if (i < numberOfCircles) { areaOfCircles += points[i].Area; perimeterOfCircles += ((Circle)points[i]).Len; } else { areaOfSquares += points[i].Area; perimeterOfSquares += ((Square)points[i]).Len; } } Console.WriteLine($"Количество кругов = {numberOfCircles}, средняя их площадь = {(areaOfCircles / numberOfCircles):f3}, средний их периметр = {(perimeterOfCircles / numberOfCircles):f3}"); Console.WriteLine($"Количество кругов = {numberOfSquares}, средняя их площадь = {(areaOfSquares / numberOfSquares):f3}, средний их периметр = {(perimeterOfSquares / numberOfSquares):f3}"); Array.Sort(areas, points); for (int i = 0; i < points.Length; i++) { points[i].Display(); } }
static void Main(string[] args) { Point p = new Point(); p.Display(); Console.WriteLine("p.Area for Point = " + p.Area); p = new Circle(1, 2, 6); p.Display(); Console.WriteLine("p.Area for Circle = " + p.Area); p = new Square(3, 5, 8); p.Display(); Console.WriteLine("p.Area for Square = " + p.Area); Point[] arr = FigArray(); int circle_cnt = 0, square_cnt = 0; for (int i = 0; i < arr.Length; ++i) { if (arr[i] is Circle) { circle_cnt++; } else { square_cnt++; } } Console.WriteLine("Circles: " + circle_cnt); Console.WriteLine("Squares: " + square_cnt); double area = 0, len = 0; for (int i = 0; i < arr.Length; ++i) { area += p.Area; len += p.Len; } area /= arr.Length; len /= arr.Length; Console.WriteLine("Area: " + area); Console.WriteLine("Len: " + len); Array.Sort(arr, (x, y) => x.Area.CompareTo(y.Area)); }