Beispiel #1
0
        public Matrix ToMatrix()
        {
            if (Demands.Sum() > Supplies.Sum())
            {
                var difference = Demands.Sum() - Supplies.Sum();

                Supplies.Add(difference);
            }
            else if (Supplies.Sum() > Demands.Sum())
            {
                var difference = Supplies.Sum() - Demands.Sum();

                Demands.Add(difference);
            }


            var newMatrix = new Matrix(Supplies.Count, Demands.Count)
            {
                Demands  = Demands.ToArray(),
                Supplies = Supplies.ToArray()
            };

            for (int i = 0; i < Rows; i++)
            {
                for (int j = 0; j < Columns; j++)
                {
                    newMatrix[i, j] = new Cell
                    {
                        Value = Array[i][j].Value,
                        State = State.NotAllocated
                    };
                }
            }

            return(newMatrix);
        }