static void Main(string[] args) { Adatok adatok = Fajlkezeles.Beolvasas(); if (adatok.FESZEKSZAM == 0) { Console.Write("Rossz bemenő adat(ok)"); Console.ReadLine(); } else { List <OsszesFeszek> osszesfeszek = OsszesFeszek.Letrehoz(adatok.OSSZESADAT); string[,] teruletGrafikusan = Terulet.TeruletLefoglalas(adatok.MERET); foreach (OsszesFeszek mostaniFeszek in osszesfeszek) { Reszfeladatok.FeszkekElhelyezese(mostaniFeszek, teruletGrafikusan, adatok.MERET); } int uresHelyek = Reszfeladatok.UresHelyek(teruletGrafikusan); string haboritatlanFeszek = ""; foreach (OsszesFeszek mostaniFeszek in osszesfeszek) { haboritatlanFeszek = Reszfeladatok.HaboritatlanFeszek(teruletGrafikusan, mostaniFeszek, adatok.MERET, haboritatlanFeszek); } string legveszelyesebbHely = Reszfeladatok.LegveszelyesebbHely(teruletGrafikusan); Fajlkezeles.Kiiras(uresHelyek, haboritatlanFeszek, legveszelyesebbHely); } }
public static void FeszkekElhelyezese(OsszesFeszek jelenlegiFeszek, string[,] teruletGrafikusan, int meret) { int[] balfelsoKoordinata = KoordinataHelye(jelenlegiFeszek.FESZKEK, true, meret); int[] jobbalsoKoordinaa = KoordinataHelye(jelenlegiFeszek.FESZKEK, false, meret); for (int i = balfelsoKoordinata[0]; i <= jobbalsoKoordinaa[0]; i++) { for (int j = balfelsoKoordinata[1]; j <= jobbalsoKoordinaa[1]; j++) { teruletGrafikusan[i, j] += jelenlegiFeszek.ToString(); } } }
public static string HaboritatlanFeszek(string[,] terulet, OsszesFeszek feszek, int meret, string haboritatlanfeszek) { int[] balfelsoKoordinata = KoordinataHelye(feszek.FESZKEK, true, meret); int[] jobbalsoKoordinaa = KoordinataHelye(feszek.FESZKEK, false, meret); for (int i = balfelsoKoordinata[0]; i <= jobbalsoKoordinaa[0]; i++) { for (int j = balfelsoKoordinata[1]; j <= jobbalsoKoordinaa[1]; j++) { if (Feszekszam(terulet[i, j]) != 1) { return(haboritatlanfeszek); } } } return(haboritatlanfeszek += feszek.ToString() + " "); }
public static List <OsszesFeszek> Letrehoz(string[] osszesAdat) { int n = FeszkekSzama(osszesAdat[0]); List <OsszesFeszek> osszesfeszeklistaja = new List <OsszesFeszek>(); for (int i = 1; i <= n; i++) { int x = XKoordinata(osszesAdat[i]); int y = YKoordinata(osszesAdat[i]); int r = TerritoriumMerete(osszesAdat[i]); Feszek seged = new Feszek(x, y, r); OsszesFeszek seged2 = new OsszesFeszek(seged, i); osszesfeszeklistaja.Add(seged2); } return(osszesfeszeklistaja); }