public string ZnajdzMiejsceSamolotu(Lot lot, int dzien, int miesiac, Lot[,,,] tablica)
        {
            int i, j, k, l;

            for (i = miesiac - 1; i >= 0; i--)
            {
                for (j = dzien - 1; j >= 0; j--)
                {
                    for (l = 23; l >= 0; l--)
                    {
                        for (k = 0; k < 10; k++)
                        {
                            if (tablica[i, j, l, k] != null && tablica[i, j, l, k].getSamolot().getIDsamolotu() == lot.getSamolot().getIDsamolotu())
                            {
                                return(tablica[i, j, l, k].getTrasa().getMiejscePrzylotu().getNazwalotniska());
                            }
                        }
                    }
                }
            }
            return(null);
        }
        public void GenerujLot(Lot x, int dzien, int miesiac, int cykl)
        {
            int    a = 7;
            int    i, j, k, l, z = 0;
            string zmienna_tekstowa, zmienna_tekstowa2, zmienna_tekstowa3, zmienna_tekstowa4;

            z = 0;
            for (i = 0; i < ListaSamolotow.Count(); i++)
            {
                zmienna_tekstowa  = ListaSamolotow[i].getIDsamolotu();
                zmienna_tekstowa2 = (x.getSamolot()).getIDsamolotu();
                if (zmienna_tekstowa == zmienna_tekstowa2)
                {
                    z++;
                }
            }
            if (z == 0)
            {
                throw new SamolotNieIstniejeException("Samolot nie istnieje");
            }
            z = 0;
            for (i = 0; i < ListaTras.Count(); i++)
            {
                zmienna_tekstowa  = (ListaTras[i].getMiejsceWylotu()).getNazwalotniska();
                zmienna_tekstowa2 = ((x.getTrasa()).getMiejsceWylotu()).getNazwalotniska();
                zmienna_tekstowa3 = (ListaTras[i].getMiejscePrzylotu()).getNazwalotniska();
                zmienna_tekstowa4 = ((x.getTrasa()).getMiejscePrzylotu()).getNazwalotniska();
                if (zmienna_tekstowa == zmienna_tekstowa2 && zmienna_tekstowa3 == zmienna_tekstowa4)
                {
                    z++;
                }
            }
            if (z == 0)
            {
                throw new TrasaNieIstniejeException("Trasa nie istnieje");
            }
            if (x.getGodzinawylotu() > x.getGodzinaprzylotu())
            {
                throw new ZlaGodzinaException("Godzina wylotu jest większa od godziny przylotu");
            }
            if ((x.getTrasa()).getOdleglosc() > (x.getSamolot()).getZasieg())
            {
                throw new ZasiegSamolotuZaMalyException("Zasięg samolotu jest za mały");
            }
            for (i = miesiac - 1; i < 12; i++)
            {
                if (i == miesiac - 1)
                {
                    for (j = dzien - 1; j < 30; j++)
                    {
                        for (k = x.getGodzinawylotu(); k < x.getGodzinaprzylotu(); k++)
                        {
                            for (l = 0; l < 10; l++)
                            {
                                if (LotyRok[i, j, k, l] != null && LotyRok[i, j, k, l].getTrasa().getMiejsceWylotu().getNazwalotniska() == x.getTrasa().getMiejsceWylotu().getNazwalotniska() && LotyRok[i, j, k, l].getTrasa().getMiejscePrzylotu().getNazwalotniska() == x.getTrasa().getMiejscePrzylotu().getNazwalotniska() && LotyRok[i, j, k, l].getSamolot().getIDsamolotu() == x.getSamolot().getIDsamolotu())
                                {
                                    throw new LotySiePokrywajaException("Loty sie pokrywaja");
                                }
                                if (K.ZnajdzMiejsceSamolotu(x, dzien, miesiac, LotyRok) != x.getTrasa().getMiejsceWylotu().getNazwalotniska() && K.ZnajdzMiejsceSamolotu(x, dzien, miesiac, LotyRok) != null)
                                {
                                    throw new SamolotJestWInnymMiejscuException("Samolot jest w innym miejscu");
                                }
                            }
                        }
                    }
                }
                else
                {
                    for (j = 0; j < 30; j++)
                    {
                        for (k = x.getGodzinawylotu(); k < x.getGodzinaprzylotu(); k++)
                        {
                            for (l = 0; l < 10; l++)
                            {
                                if (LotyRok[i, j, k, l] != null && LotyRok[i, j, k, l].getTrasa().getMiejsceWylotu().getNazwalotniska() == x.getTrasa().getMiejsceWylotu().getNazwalotniska() && LotyRok[i, j, k, l].getTrasa().getMiejscePrzylotu().getNazwalotniska() == x.getTrasa().getMiejscePrzylotu().getNazwalotniska() && LotyRok[i, j, k, l].getSamolot().getIDsamolotu() == x.getSamolot().getIDsamolotu())
                                {
                                    throw new LotySiePokrywajaException("Loty sie pokrywaja");
                                }
                                if (K.ZnajdzMiejsceSamolotu(x, dzien, miesiac, LotyRok) != x.getTrasa().getMiejsceWylotu().getNazwalotniska() && K.ZnajdzMiejsceSamolotu(x, dzien, miesiac, LotyRok) != null)
                                {
                                    throw new SamolotJestWInnymMiejscuException("Samolot jest w innym miejscu");
                                }
                            }
                        }
                    }
                }
            }
            if (cykl == 1)
            {
                for (i = miesiac - 1; i < 12; i++)
                {
                    if (i == miesiac - 1)
                    {
                        for (j = dzien - 1; j < 30; j++)
                        {
                            for (k = x.getGodzinawylotu(); k < x.getGodzinaprzylotu(); k++)
                            {
                                for (l = 0; l < 10; l++)
                                {
                                    if (LotyRok[i, j, k, l] == null)
                                    {
                                        LotyRok[i, j, k, l] = new Lot(x.getTrasa(), x.getSamolot(), x.getCzaspodrozy(), x.getGodzinawylotu(), x.getGodzinaprzylotu());
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        for (j = 0; j < 30; j++)
                        {
                            for (k = x.getGodzinawylotu(); k < x.getGodzinaprzylotu(); k++)
                            {
                                for (l = 0; l < 10; l++)
                                {
                                    if (LotyRok[i, j, k, l] == null)
                                    {
                                        LotyRok[i, j, k, l] = new Lot(x.getTrasa(), x.getSamolot(), x.getCzaspodrozy(), x.getGodzinawylotu(), x.getGodzinaprzylotu());
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                for (i = miesiac - 1; i < 12; i++)
                {
                    if (i == miesiac - 1)
                    {
                        for (j = dzien - 1; j < 30; j++)
                        {
                            if (a == 7)
                            {
                                for (k = x.getGodzinawylotu(); k < x.getGodzinaprzylotu(); k++)
                                {
                                    for (l = 0; l < 10; l++)
                                    {
                                        if (LotyRok[i, j, k, l] == null)
                                        {
                                            LotyRok[i, j, k, l] = new Lot(x.getTrasa(), x.getSamolot(), x.getCzaspodrozy(), x.getGodzinawylotu(), x.getGodzinaprzylotu());
                                            break;
                                        }
                                    }
                                }
                                a = 0;
                            }
                            a++;
                        }
                    }
                    else
                    {
                        for (j = 0; j < 30; j++)
                        {
                            if (a == 7)
                            {
                                for (k = x.getGodzinawylotu(); k < x.getGodzinaprzylotu(); k++)
                                {
                                    for (l = 0; l < 10; l++)
                                    {
                                        if (LotyRok[i, j, k, l] == null)
                                        {
                                            LotyRok[i, j, k, l] = new Lot(x.getTrasa(), x.getSamolot(), x.getCzaspodrozy(), x.getGodzinawylotu(), x.getGodzinaprzylotu());
                                            break;
                                        }
                                    }
                                }
                                a = 0;
                            }
                            a++;
                        }
                    }
                }
            }
        }