private void findMaxButton_Click(object sender, EventArgs e) { int m = winMatrixView.Columns.Count; int n = winMatrixView.Rows.Count - 2; enterMatrix = new double[n, m]; enterArray = new double[m]; //Reading values from winMatrixView and adding them to enterMatrix for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { try { enterMatrix[j, i] = double.Parse(winMatrixView[i, j].Value.ToString()); } catch (Exception error) { MessageBox.Show("Ошибка, неверный составлена матрица выигрышей", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } Playoff playoff = new Playoff(enterMatrix); //Reading the state of nature values for (int i = 0; i < m; i++) { try { enterArray[i] = double.Parse(winMatrixView[i, n].Value.ToString()); } catch (Exception error) { MessageBox.Show("Ошибка, неверный составлены вероятности", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } riskMatrixView.Columns.Clear(); Risk risk = Converter.fromPlayoffToRisk(playoff); //Checking state of nature if (!risk.addStateOfNature(enterArray)) { MessageBox.Show("Ошибка, неверный составлены вероятности", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Creating risk matrix n*m for riskMatrixView for (int i = 0; i < m; i++) { riskMatrixView.Columns.Add($"{i}", $"{i}"); } for (int i = 0; i < n; i++) { riskMatrixView.Rows.Add(); riskMatrixView.Rows[i].HeaderCell.Value = i.ToString(); } //Adding risk matrix values to riskMatrixView for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { riskMatrixView[j, i].Value = risk.Matrix[i, j]; riskMatrixView[j, i].ReadOnly = true; } } riskMatrixView.Columns.Add($"", $"Risk"); risk.findMaxExperimentPrice(); //Displaying max experiment price maxExp.Text = "Максимальная цена эксперимента: " + risk.MaxExperiment.ToString(); //Displaying risks values in riskMatirxView for (int i = 0; i < n; i++) { riskMatrixView[m, i].Value = risk.RiskValues[i]; riskMatrixView[m, i].ReadOnly = true; } riskMatrixView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; risk.printToTxt(); }