public void SetMatrixOfAdvantages() { MatrixOfAdvantages = new int[matrixLenght, matrixLenght]; for (int i = 0; i < matrixLenght; i++) { for (int j = 1; j < matrixLenght; j++) { if (i != j) { if (i >= j && j > 0) { MatrixOfAdvantages[i, j] = MatrixOfAdvantages[0, i] + MatrixOfAdvantages[0, j] - transMapObj.CallRequest(TransportationMap.DeliveryPointsList[i], TransportationMap.DeliveryPointsList[j]).distance.value; SectionList.Add(new Section() { StartPoint = i, FinishPoint = j, KmAdvantage = MatrixOfAdvantages[i, j] }); } else { MatrixOfAdvantages[i, j] = transMapObj.CallRequest(TransportationMap.DeliveryPointsList[i], TransportationMap.DeliveryPointsList[j]).distance.value; } } } } }