using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace KnapsackProblem { class Program { static List values = new List(); static List chosenValues = new List(); static void Introduction() { Console.WriteLine("Press any key to continue"); Console.ReadKey(); } static int AddValue() { Console.WriteLine("Start entering the values"); string _enteredText = ""; int _numberOfItems = 0; while (_enteredText != "/stop") { _enteredText = Console.ReadLine(); Console.WriteLine("To stop, type '/stop'"); if (int.TryParse(_enteredText, out int value) && value > 0) { values.Add(value); _numberOfItems++; } else Console.WriteLine("Number invalid. Enter another one"); } Console.Clear(); Console.WriteLine("You have entered {0} items", _numberOfItems); Console.ReadKey(); Console.Clear(); return _numberOfItems; } static int EnterKnapsackCapacity() { Console.WriteLine("Enter your knapsack capacity"); string _enteredText; bool _properCapacity = false; int _capacity = 0; while (_properCapacity == false) { _enteredText = Console.ReadLine(); if (int.TryParse(_enteredText, out int _knapsackCapacity) && _knapsackCapacity > 0) { _properCapacity = true; _capacity = _knapsackCapacity; } else Console.WriteLine("Invalid knapsack capacity. Enter another one"); } Console.Clear(); Console.WriteLine("Your knapsack capacity is {0}",_capacity ); Console.ReadKey(); Console.Clear(); return _capacity; } static void Main(string[] args) { Introduction(); int capacity = EnterKnapsackCapacity(); int numberOfItems = AddValue(); int[] valuesArray = new int[numberOfItems]; bool[] ifPicked = new bool[numberOfItems]; int totalWeight = 0; chosenValues = values; Console.ReadKey(); } } }