Подсчитать и напечатать количество случайных точек, расположенных на каждой четверти - C#
Формулировка задачи:
Случайным образом формируются координаты X и Y 100 точек.Диапазон значений координат от -150 до +150.Подсчитать и напечатать количество точек,расположенных на каждой четверти.Отдельно учитывать точки ,расположенные на осях координат Использовать метод-процедуру
помогите пожалуйста
Решение задачи: «Подсчитать и напечатать количество случайных точек, расположенных на каждой четверти»
textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
public static void Main()
{
List<Tuple<int, int>> points = Enumerable.Repeat(new Random(), 100).Select(r => Tuple.Create((int)Math.Sqrt(r.NextDouble() * 90601.0) - 150, (int)Math.Sqrt(r.NextDouble() * 90601.0) - 150)).ToList();
Console.WriteLine(String.Join(", ", points));
SortedList<string, Func<Tuple<int, int>, bool>> quarters = new SortedList<string, Func<Tuple<int, int>, bool>>()
{
{ "I четверть", p => p.Item1 > 0 && p.Item2 > 0 },
{ "II четверть", p => p.Item1 < 0 && p.Item2 > 0 },
{ "III четверть", p => p.Item1 < 0 && p.Item2 < 0 },
{ "IV четверть", p => p.Item1 > 0 && p.Item2 < 0 },
{ "Координатные прямые", p => p.Item1 == 0 || p.Item2 == 0 }
};
foreach (var q in quarters)
{
Console.WriteLine();
Console.WriteLine(q.Key);
Console.WriteLine(String.Join(", ", points.Where(q.Value)));
}
}
}