示例#1
0
        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);
            }
        }
示例#2
0
 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();
         }
     }
 }
示例#3
0
 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() + " ");
 }
示例#4
0
        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);
        }