private async void ComputeDynamic(IEnumerable <int> digits, float valueToCalculate) { DynamicAlgorithm algorithm = new DynamicAlgorithm(digits); var watch = System.Diagnostics.Stopwatch.StartNew(); var result = await Task.Run(() => { return(algorithm.CalculateResult(valueToCalculate)); }); watch.Stop(); if (viewModel.Time) { viewModel.ExeTimeDynamic = $"{watch.Elapsed.TotalMilliseconds.ToString()}ms"; } listDynamic.Items.Clear(); if (result != null) { foreach (var r in result) { var item = new ListBoxItem(); item.Content = $"{r.Value} x {r.Key}"; listDynamic.Items.Add(item); } DynamicAlgorithm greedyAlg = (DynamicAlgorithm)algorithm; Debug.WriteLine($"Arrays for input: {valueToCalculate}"); Debug.WriteLine("----------------------------------"); for (int i = 1; i < greedyAlg.oArray.Length; i++) { Debug.WriteLine($"amount: {i} -> o:{greedyAlg.oArray[i]} s:{greedyAlg.sArray[i]} ({greedyAlg.coinArray[greedyAlg.sArray[i]]})"); } } else { var item = new ListBoxItem(); item.Content = "Cannot solve"; listDynamic.Items.Add(item); } }
void Button_Click(object sender, RoutedEventArgs e) { if (!CheckInputData()) { return; } PrepareSetofItems(); var sack = new Sack(_W, SetOfItems); var brutalForce = new BrutalForceAlgorithm(sack); var greedy = new GreedyAlgorithm(sack); var dynamic = new DynamicAlgorithm(sack); ClearItems(); if (cbBF.IsChecked != null && cbBF.IsChecked.Value) { Compute(brutalForce); } Compute(greedy); Compute(dynamic); }