public double OdlegloscDoPunktu(Punkt p) { return(Math.Sqrt(Math.Pow(p.X - X, 2) + Math.Pow(p.Y - Y, 2))); }
static void Main(string[] args) { const int N = 30; const float maxWeight = 4.0f; float sumWag = 0.0f; float sumPoint = 0.0f; // Punkt[] punkts = new Punkt[N] // { // new Punkt(0.35f,7.07f), new Punkt(0.35f,7.07f),new Punkt(0.35f,7.07f), new Punkt(0.35f,7.07f),new Punkt(0.35f,7.07f), new Punkt(0.33f,1.67f),new Punkt(0.35f,7.07f), new Punkt(0.25f,3.75f), //new Punkt(0.50f,2.50f), new Punkt(0.25f,3.75f),new Punkt(0.58f,11.55f), new Punkt(0.71f,14.14f),new Punkt(0.50f,5.00f), new Punkt(0.20f,2.00f),new Punkt(0.33f,5.00f), new Punkt(0.33f,10.0f), //new Punkt(0.25f,1.25f), new Punkt(0.33f,1.67f),new Punkt(0.29f,5.77f), new Punkt(0.29f,5.77f),new Punkt(0.41f,16.33f), new Punkt(0.41f,16.33f),new Punkt(0.71f,28.28f) // }; Punkt[] punkts = new Punkt[N] { new Punkt(0.35f, 7.07f), new Punkt(0.35f, 7.07f), new Punkt(0.35f, 7.07f), new Punkt(0.35f, 7.07f), new Punkt(0.35f, 7.07f), new Punkt(0.33f, 1.67f), new Punkt(0.35f, 7.07f), new Punkt(0.25f, 3.75f), new Punkt(0.50f, 2.50f), new Punkt(0.25f, 3.75f), new Punkt(0.58f, 11.55f), new Punkt(0.71f, 14.14f), new Punkt(0.50f, 5.00f), new Punkt(0.20f, 2.00f), new Punkt(0.33f, 5.00f), new Punkt(0.33f, 10.0f), new Punkt(0.25f, 1.25f), new Punkt(0.33f, 1.67f), new Punkt(0.29f, 5.77f), new Punkt(0.29f, 5.77f), new Punkt(0.41f, 16.33f), new Punkt(0.41f, 16.33f), new Punkt(0.71f, 28.28f), new Punkt(0.25f, 1.25f), new Punkt(0.33f, 1.67f), new Punkt(0.29f, 5.77f), new Punkt(0.29f, 5.77f), new Punkt(0.41f, 16.33f), new Punkt(0.41f, 16.33f), new Punkt(0.71f, 28.28f) }; Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); //sortowanie int n = punkts.Length; do { for (int i = 0; i < n - 1; i++) { if (punkts[i].point < punkts[i + 1].point) { Punkt tmp = punkts[i]; punkts[i] = punkts[i + 1]; punkts[i + 1] = tmp; } } n--; }while (n > 1); n = punkts.Length; do { for (int i = 0; i < n - 1; i++) { if (punkts[i].waga < punkts[i + 1].waga) { Punkt tmp = punkts[i]; punkts[i] = punkts[i + 1]; punkts[i + 1] = tmp; } } n--; }while (n > 1); bruteforce(punkts, maxWeight); stopwatch.Stop(); Console.WriteLine(stopwatch.Elapsed.TotalMilliseconds); }