Facebook
From Gentle Mosquito, 4 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 182
  1. //Metoda mierzaca czas rozwiazywania zadania wybrana metoda
  2.     public double MierzCzas(int n,int metoda){
  3.         double czas = 0.0;
  4.         long pomiar;
  5.        
  6.         //powoluje do istnienia obiekt klasy Uklad
  7.         Uklad uk = new Uklad(n);
  8.         //tworze petle w ktorej bede mierzyl czas rozwiazywania ukladu zadana metoda
  9.         //petla powinna miec strukture analogiczna do tej z MierzCzas w klasie Przyklad1
  10.         //wewnatrz petli nalezy wylosowac odpowiedni uklad oraz powolac do istnienia obiekt/obiekty odpowiedniej klasy (Cholesky, Gauss, etc.)
  11.         //pomiar czasu powinien obejmowac tylko wywolanie odpowiednich metod rozwiazujacych uklad (por. sekcje 4 w Pracownia1.java)
  12.         for(int i = 0; i < M; i++){
  13.             uk.LosujUklad();                                    //dokonuje losowania ukladu
  14.             Cholesky cholesky = new Cholesky(uk);               //powoluje do istnienia obiekt klasy Cholesky
  15.             Gauss gauss = new Gauss(uk);                        //polouje do istnienia obiekt klasy Gauss
  16.             pomiar = System.currentTimeMillis();                //wlaczam stoper
  17.             switch(metoda){                                     //wybieram metode, ktora bedzie obliczany uklad
  18.                 case 1:
  19.                         cholesky.Rozklad();
  20.                         cholesky.RozwiazTrojkatnyDolny();
  21.                         cholesky.RozwiazTrojkatnyGorny();
  22.                         break;
  23.                 case 2:
  24.                         gauss.Eliminacja();
  25.                         gauss.RozwiazTrojkatny();
  26.                         break;
  27.             }
  28.             pomiar = System.currentTimeMillis() - pomiar;       //zatrzymuje stoper
  29.             czas += pomiar;
  30.         }
  31.        
  32.         //zwracam sredni czas
  33.         return czas / (M * 1000.0);                            
  34.     }