Exemplo n.º 1
0
        private void btnLosuj_Click(object sender, EventArgs e)         //Metoda losująca przykadową funkcje;
        {
            Random r1  = new Random();                                  //początek losowania
            double od  = Convert.ToDouble(nudOd.Value);                 //ustawienie wartości początkowej losowania
            double doo = Convert.ToDouble(nudDo.Value);                 //ustawienie wartości maksymalnej losowania
            Double a   = 0;                                             //zmienna do przychowywania argumentu funkcji
            Double b   = 0;                                             //zmienna do przechowywania wartosci funkcji
            Punkt  p1  = new Punkt(a, b);                               // Inicjowanie punktu mającego przechowywać pojedyńczy punkt dla funkcji

            if (funkcja.Count != 0)                                     // sprawdzenie czy lista na funkcje są puste, gdyż generujemy nową funkcje
            {
                funkcja.Clear();                                        //czyści listę funkcji
            }
            if (tabelaNaFunkcje != null)                                //sprawdzenie czy tablica wyśfietlająca funkcje czysta
            {
                tabelaNaFunkcje.Clear();                                //czyści tablicę na funkcje
            }
            if (funkcja.Count == 0)                                     // Dodanie pierwszego argumentu do "listy funkcja"
            {
                a = Math.Round((r1.NextDouble() * (doo - od)) + od, 4); //losowanie argumentu
                b = Math.Round((r1.NextDouble() * (doo - od)) + od, 4); //losowanie wartości
                p1.setXY(a, b);                                         //ustawienie wartości punktu
                funkcja.Add(p1);                                        //dodanie punktu do listy funkcja
            }
            bool czy = false;                                           // zmienna logiczna sprawdzająca czy argument w funkcji się nie powtarza

            while (Convert.ToInt32(nudIle.Value) - 1 > funkcja.Count)   // pętla generująca punkty do funkcji
            {
                a = Math.Round((r1.NextDouble() * (doo - od)) + od, 4); // losowanie argumentu funkcji
                foreach (Punkt p in funkcja)                            //pętla sprawdzająca czy argument funkcji się nie powtarza
                {
                    if (p.getX() == a)
                    {
                        czy = true;
                        break;
                    }
                }
                if (czy == true) // warunek sprawdzający, czy dany argument już istnieje dla funkcji
                {
                    czy = false;
                    continue;                                           //pętla wykonuje się w następnej iteracji, losując kolejny argument
                }
                b = Math.Round((r1.NextDouble() * (doo - od)) + od, 4); // losujemy wartość dla funkcji
                Punkt zmiennaLokalna = new Punkt(a, b);                 //dodajemy wartości do obiektu punkt
                funkcja.Add(zmiennaLokalna);                            // dodajemy wartości do listy funkcja
            }

            UpdateGrid();
        }
Exemplo n.º 2
0
        private void btnDodaj_Click(object sender, EventArgs e)                                 //dodawanie nowego punktu
        {
            Punkt p1 = new Punkt(Convert.ToDouble(nudOd.Value), Convert.ToDouble(nudDo.Value)); //generowanie nowego punktu

            foreach (Punkt punkt in funkcja)                                                    //pętla sprawdzająca, czy aby się argument nie powtórzył
            {
                if (p1.getX() == punkt.getX())
                {
                    MessageBox.Show("Nie może być dwóch takich samych argumentów");//jeżeli się powtórzył, wyrzucamy błąd
                    return;
                }
            }
            funkcja.Add(p1); //jeżeli nie, dodajemy go do funkcji
            UpdateGrid();    // uaktualniamy tabele
        }
Exemplo n.º 3
0
 public void sortowanie() //funkcja sortujące
 {
     for (int i = 1; i < funkcja.Count - 1; i++)
     {
         for (int j = funkcja.Count - 1; j >= 1; j--)
         {
             if (funkcja[j].getX() < funkcja[j - 1].getX())
             {
                 Punkt bufor = new Punkt(0.0, 0.0);
                 bufor          = funkcja[j - 1];//bufor przechowujący zmienną którą bd zamieniac
                 funkcja[j - 1] = funkcja[j];
                 funkcja[j]     = bufor;
             }
         }
     }
     UpdateGrid();
 }