private void buttonKryteriumSavagea_Click(object sender, EventArgs e) { List <WierszKolumna> najgorsze = new List <WierszKolumna>(); List <WierszKolumna> najlepszeZNajgorszych = new List <WierszKolumna>(); string kryterium = "Savage'a"; foreach (DataGridViewRow row in dgv.Rows) { foreach (DataGridViewCell cell in row.Cells) { cell.Style.BackColor = Color.White; } } foreach (DataGridViewRow row in dgv2.Rows) { foreach (DataGridViewCell cell in row.Cells) { cell.Style.BackColor = Color.White; } } for (int i = 0; i < decyzje.Count; i++) { List <WierszKolumna> najgorszeNaWiersz = new List <WierszKolumna>(); for (int j = 0; j < stany.Count; j++) { if (j == 0) { WierszKolumna tmp = new WierszKolumna(); tmp.Wartosc = straty[i, j]; tmp.Wiersz = i; tmp.Kolumna = j; najgorszeNaWiersz.Add(tmp); } else { WierszKolumna tmp2 = new WierszKolumna(); tmp2.Wartosc = straty[i, j]; tmp2.Wiersz = i; tmp2.Kolumna = j; if (tmp2.Wartosc == najgorszeNaWiersz.Last().Wartosc) { najgorszeNaWiersz.Add(tmp2); } else if (tmp2.Wartosc > najgorszeNaWiersz.Last().Wartosc) { najgorszeNaWiersz.Clear(); najgorszeNaWiersz.Add(tmp2); } } } foreach (WierszKolumna wk in najgorszeNaWiersz) { najgorsze.Add(wk); } najgorszeNaWiersz.Clear(); } najgorsze.Sort(delegate(WierszKolumna c1, WierszKolumna c2) { return(c1.Wartosc.CompareTo(c2.Wartosc)); }); foreach (WierszKolumna wk in najgorsze) { if (wk.Wartosc == najgorsze.First().Wartosc) { najlepszeZNajgorszych.Add(wk); } } foreach (WierszKolumna wk in najlepszeZNajgorszych) { dgv2.Rows[wk.Wiersz].Cells[wk.Kolumna].Style.BackColor = Color.Green; } foreach (WierszKolumna wk in najlepszeZNajgorszych) { dgv.Rows[wk.Wiersz + 1].Cells[wk.Kolumna + 1].Style.BackColor = Color.Green; } WypiszInformacjeONajlepszejDecyzji(kryterium, najlepszeZNajgorszych.First().Wiersz); }
public int CompareTo(WierszKolumna other) { return(Wartosc.CompareTo(other.Wartosc)); }
private void buttonKryteriumHurwicza_Click(object sender, EventArgs e) { List <WierszKolumna> najlepsze = new List <WierszKolumna>(); string kryterium = "Hurwicza"; foreach (DataGridViewRow row in dgv.Rows) { foreach (DataGridViewCell cell in row.Cells) { cell.Style.BackColor = Color.White; } } foreach (DataGridViewRow row in dgv2.Rows) { foreach (DataGridViewCell cell in row.Cells) { cell.Style.BackColor = Color.White; } } for (int i = 0; i < decyzje.Count; i++) { for (int j = 0; j < stany.Count; j++) { if (j == 0) { WierszKolumna tmp = new WierszKolumna(); tmp.Wartosc = wyniki[i, j]; tmp.Wiersz = i; tmp.Kolumna = j; najlepsze.Add(tmp); } else { WierszKolumna tmp2 = new WierszKolumna(); tmp2.Wartosc = wyniki[i, j]; tmp2.Wiersz = i; tmp2.Kolumna = j; if (tmp2.Wartosc == najlepsze.Last().Wartosc) { najlepsze.Add(tmp2); } else if (tmp2.Wartosc > najlepsze.Last().Wartosc) { najlepsze.Clear(); najlepsze.Add(tmp2); } } } } foreach (WierszKolumna wk in najlepsze) { dgv.Rows[wk.Wiersz + 1].Cells[wk.Kolumna + 1].Style.BackColor = Color.Green; } WypiszInformacjeONajlepszejDecyzji(kryterium, najlepsze.First().Wiersz); }