diff --git a/DecisionMaker.java b/DecisionMaker.java new file mode 100644 index 00000000..a33ba58f --- /dev/null +++ b/DecisionMaker.java @@ -0,0 +1,134 @@ +import java.util.ArrayList; +import java.io.BufferedReader; +import java.io.FileReader; +import java.time.LocalDate; + +public class DecisionMaker +{ + private ArrayList historical; + private double expAverage; + + public class Quotation { + + private String date; + private double close, volume; + + public Quotation(String date, double close, double volume) { + this.date = date; + this.close = close; + this.volume = volume; + } + + public String getDate() { + return date; + } + + public double getClose() { + return close; + } + + public double getVolume() { + return volume; + } + + @Override + public String toString() { + return String.format("%s kurs: %.2f wolumen: %.2f", date, close, volume); + } + } + + //tworzenie agenta decyzyjnego w oparciu o dane historyczne i analizowany przedzial czasowy (data w formacie rrrr-mm-dd) + public DecisionMaker(String csvFile, String dateToAnalyzeFrom) throws Exception { + historical = new ArrayList<>(); + LocalDate today=LocalDate.now(), since = LocalDate.parse(dateToAnalyzeFrom); + + if(today.isBefore(since)) throw new IllegalArgumentException("Podana data musi by wczeniejsza od dzisiejszej!"); + else if (since.isBefore(LocalDate.of(2019, 1, 1))) throw new IllegalArgumentException("Podana data musi by pniejsza ni 1 stycznia 2020r."); + else { + + try { + BufferedReader buffer = new BufferedReader(new FileReader(csvFile)); + String [] dane; String line=""; + + while( (line=buffer.readLine()) != null) { + + dane = line.replaceAll("[^0-9.;-]", "").split(";"); + historical.add(new Quotation(dane[0], Double.parseDouble(dane[1]), Double.parseDouble(dane[2]))); + if(line.contains(dateToAnalyzeFrom)) break; + } + + buffer.close(); + } + catch (Exception e) { + System.out.println("Nie mona odnale pliku!"); + } + + expAverage=exponentialAverage(); + } + + } + + public ArrayList getHistorical() { + return historical; + } + + public double getExpAverage() { + return expAverage; + } + + public int makeDecision(double currentPrice) { + + double currentAverage = exponentialAverage(currentPrice); + + // jesli wykres sredniej exponencjalnej przecina sie z wykresem kursu waluty od dolu wysylany jest sygnal kupna + + if(expAverage=currentPrice && currentPrice > currentAverage) { + System.out.println("SPRZEDAJ"); + return -1; + } + + else { + System.out.println("CZEKAJ"); + return 0; + } + } + + // wyliczanie sredniej wazonej eksponencjalnej na podstawie danych historycznych + private double exponentialAverage() { + + int N = historical.size(); + double sum = 0, weights = 0; + + for(int i=0; i bids, asks; + + public Exchange(String name, String currency1, String currency2, int quantity) { + this.name = name; + this.currency1 = currency1; + this.currency2 = currency2; + this.bids = new ArrayList(); + this.asks = new ArrayList(); + createParser(); + fillData(quantity); + } + + public ArrayList getBids() { + return bids; + } + + public ArrayList getAsks() { + return asks; + } + + public void printOrderbook() { + + System.out.println("\n------------------------------------------------\n"+ name + " Exchange\t("+currency1+" - "+currency2+")"); + System.out.println("\nBIDS\n------------------------------------------------"); + + for(Offer bid : bids) { + System.out.println("BID: " + bid); + } + System.out.println("------------------------------------------------\n\nASKS\n------------------------------------------------"); + + + for(Offer ask : asks) { + System.out.println("ASK: " + ask); + } + System.out.println("------------------------------------------------"); + } + + public void update(int quantity) { + parser.updateData(); + fillData(quantity); + } + + private void fillData(int quantity) { + switch(name) { + case "BitBay": + bitbayData(quantity); + break; + case "CEX.IO": + cexioData(quantity); + break; + case "WhiteBit": + whitebitData(quantity); + break; + case "Ftx": + ftxData(quantity); + break; + default: + System.out.println("Nie obsugiwane rdo!"); + } + } + + private void bitbayData(int quantity) { + + String [] tab = parser.getData(); + int i=0, counter=0; + + tab[0]=tab[0].replace("bids", ""); + + for(; !tab[i].contains("asks"); i+=2) { + + if(counter < quantity) { + if(bids.size()==counter) bids.add(new Offer(Double.parseDouble(tab[i]),Double.parseDouble(tab[i+1]))); + else bids.set(counter, new Offer(Double.parseDouble(tab[i]),Double.parseDouble(tab[i+1]))); + counter++; + } + } + + counter = 0; + tab[i]=tab[i].replace("asks", ""); + + for(; i=0.01) { + + System.out.println(String.format("Na giedzie %s mona kupi %.8f %s za %s po kursie %.2f i sprzeda na giedzie %s po kursie %.2f zyskujc %.2f%s.", + names[j], current.getAmmount(), currency[2*i], currency[2*i+1], current.getPrice(), names[k], analyze.getPrice(), influence-cost, currency[2*i+1])); + + if(influence-cost>best) best=influence-cost; + } + } + } + + System.out.println(); + if(best>0)portfel.add(currency[2*i+1], best); + } + } + } + + private static void zadania1_3(double tax) { + + Exchange[][] gieldy = new Exchange[4][4]; + Wallet portfel = new Wallet(); + + for(int i=0; i0) gielda.update(1); + Offer buy=gielda.getAsks().get(0), sell=gielda.getBids().get(0); + + // decyzja jest podejmowana w oparciu o cene potencjalnego zakupu + int decision = agent.makeDecision(sell.getPrice()); + + if(decision==1) { + + double price = sell.getPrice()*sell.getAmmount()*(1+tax); + if(portfel.sell("USD", price)) { + portfel.add("BTC", sell.getAmmount(), price); + System.out.println(String.format("Zakupiono %.8fBTC", sell.getAmmount())); + } + } + else if(decision==(-1)) { + + double price = buy.getPrice()*sell.getAmmount()*(1-tax); + + if(portfel.sell("BTC", price)) { + + portfel.add("USD", sell.getAmmount()); + System.out.println(String.format("Sprzedano %.8fBTC", buy.getAmmount())); + + if(portfel.profitable(price, sell.getAmmount())) System.out.println("Sprzedano z zyskiem"); + else System.out.println("Sprzedano ze strat"); + } + } + Thread.sleep(5000); + } + System.out.println(portfel); + gielda.update(1); + portfel.getCurrentValue("BTC",gielda.getAsks().get(0).getPrice()); + } + + public static void main(String[] args) throws Exception { + + //zadania1_3(0.005); + zadanie4(10, 0.005); + } +} \ No newline at end of file diff --git a/Offer.java b/Offer.java new file mode 100644 index 00000000..0059ab24 --- /dev/null +++ b/Offer.java @@ -0,0 +1,37 @@ +public class Offer +{ + private double price; + private double ammount; + + public Offer() { + price = 0; + ammount = 0; + } + + public Offer(double price, double ammount) { + this.price = price; + this.ammount = ammount; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public double getAmmount() { + return ammount; + } + + public void setAmmount(double ammount) { + this.ammount = ammount; + } + + @Override + public String toString() { + return String.format("[CENA: %-15.2f ILOSC: %-12.8f]", price, ammount); + } + +} diff --git a/README.md b/README.md deleted file mode 100644 index 6661a2ed..00000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# MSiD -System Analysis and Decision Support Methods diff --git a/Wallet.java b/Wallet.java new file mode 100644 index 00000000..10b28f34 --- /dev/null +++ b/Wallet.java @@ -0,0 +1,111 @@ +import java.util.ArrayList; + +public class Wallet { + + private class Fund { + + String currency; + double ammount; + + private Fund(String currency, double ammount) { + this.currency = currency; + this.ammount = ammount; + } + + @Override + public String toString() { + if(currency.equals("USD")) return String.format("%.2f", ammount)+currency; + else return String.format("%.8f", ammount)+currency; + } + } + + ArrayList funds; + ArrayList bought; + + public Wallet() { + funds = new ArrayList(); + bought = new ArrayList(); + } + + public Wallet(String currency, double startingFunds) { + + funds = new ArrayList(); + bought = new ArrayList(); + add(currency, startingFunds); + } + + public void add(String currency, double ammount) { + + boolean added = false; + for(Fund f : funds) { + + if(f.currency.equals(currency)) { + + f.ammount+=ammount; + added = true; + break; + } + + } + if(!added) funds.add(new Fund(currency, ammount)); + } + + public void add(String currency, double ammount, double boughtPrice) { + + add(currency, ammount); + bought.add(new Offer(boughtPrice,ammount)); + } + + public boolean sell(String currency, double ammount) { + + for(Fund f: funds) { + + if(f.currency.equals(currency) && f.ammount >= ammount) { + + f.ammount-=ammount; + System.out.println("\nSprzedano "+ammount+currency); + return true; + } + } + + System.out.println("Brak rodkw na wykonanie transakcji!"); + return false; + } + + public boolean profitable(double price, double ammount) { + + double sum = 0; + + for(Offer o : bought) { + + if(o.getPrice()<=price) sum+=o.getAmmount(); + } + + return sum>=ammount; + } + + public double getCurrentValue(String currency, double price) { + + double value=0.0; + + for(Fund f : funds) { + + if(f.currency=="USD") value+=f.ammount; + else if(f.currency=="BTC") value+=(f.ammount*price); + } + + return value; + } + + @Override + public String toString() { + + String output="WALLET\n"; + for(Fund f : funds) { + + output+=f+"\n"; + } + + return output; + } +} \ No newline at end of file diff --git a/bitcoin_stats.csv b/bitcoin_stats.csv new file mode 100644 index 00000000..5803bf84 --- /dev/null +++ b/bitcoin_stats.csv @@ -0,0 +1,510 @@ +2020-06-05;9829.9;12.35 +2020-06-04;9800.8;214.15 +2020-06-03;9665.4;177.46 +2020-06-02;9520;332.9 +2020-06-01;10194;241.85 +2020-05-31;9446.9;173.13 +2020-05-30;9700.1;180.32 +2020-05-29;9428.6;209.62 +2020-05-28;9564.3;392.57 +2020-05-27;9200;301.05 +2020-05-26;8855.4;196.89 +2020-05-25;8909.6;268.88 +2020-05-24;8721.9;266.73 +2020-05-23;9198.7;159.72 +2020-05-22;9178.4;185.93 +2020-05-21;9044.8;424.84 +2020-05-20;9527.6;429.66 +2020-05-19;9799.8;388.46 +2020-05-18;9742.2;358.04 +2020-05-17;9682.9;491.97 +2020-05-16;9384.8;250.0 +2020-05-15;9319.9;502.33 +2020-05-14;9788.1;725.74 +2020-05-13;9327.4;461.62 +2020-05-12;8837.4;334.94 +2020-05-11;8569.4;1042.46 +2020-05-10;8748.2;962.3 +2020-05-09;9544.5;387.93 +2020-05-08;9822.5;440.52 +2020-05-07;9996.6;754.32 +2020-05-06;9168.6;481.59 +2020-05-05;9035.3;329.31 +2020-05-04;8904;295.17 +2020-05-03;8916.9;392.66 +2020-05-02;8993.3;231.28 +2020-05-01;8838.1;366.96 +2020-04-30;8626.9;1101.0 +2020-04-29;8778.3;1160.99 +2020-04-28;7772.9;202.11 +2020-04-27;7786.9;286.61 +2020-04-26;7700;214.73 +2020-04-25;7541;204.3 +2020-04-24;7526.4;226.03 +2020-04-23;7492.8;513.86 +2020-04-22;7140.3;236.58 +2020-04-21;6872.9;242.28 +2020-04-20;6848.7;359.21 +2020-04-19;7136.5;172.12 +2020-04-18;7258.1;231.42 +2020-04-17;7036.4;255.56 +2020-04-16;7122;791.79 +2020-04-15;6647.4;201.44 +2020-04-14;6888.2;167.14 +2020-04-13;6863.1;328.5 +2020-04-12;6917.2;180.92 +2020-04-11;6900;110.59 +2020-04-10;6877.7;388.77 +2020-04-09;7310.9;296.88 +2020-04-08;7378.1;195.82 +2020-04-07;7214.7;380.09 +2020-04-06;7356.4;394.76 +2020-04-05;6792.9;232.16 +2020-04-04;6880.5;270.97 +2020-04-03;6743;323.53 +2020-04-02;6813.5;529.44 +2020-04-01;6635.8;336.31 +2020-03-31;6441.5;241.75 +2020-03-30;6403.6;375.3 +2020-03-29;5895.8;231.69 +2020-03-28;6271.6;317.48 +2020-03-27;6383.2;263.85 +2020-03-26;6771.4;232.07 +2020-03-25;6709.7;333.64 +2020-03-24;6781;435.3 +2020-03-23;6483.1;374.14 +2020-03-22;5849.9;347.26 +2020-03-21;6212.2;325.75 +2020-03-20;6220.9;653.28 +2020-03-19;6220.4;627.04 +2020-03-18;5411;405.8 +2020-03-17;5381.4;479.13 +2020-03-16;5057.4;1047.09 +2020-03-15;5422.9;383.12 +2020-03-14;5250;372.17 +2020-03-13;5686.9;1281.48 +2020-03-12;4920.5;1440.79 +2020-03-11;7942.1;177.14 +2020-03-10;7904.8;238.66 +2020-03-09;7947.7;313.55 +2020-03-08;8059.2;245.95 +2020-03-07;8923.1;115.26 +2020-03-06;9159.7;92.16 +2020-03-05;9086;193.33 +2020-03-04;8797.8;76.41 +2020-03-03;8796.1;74.65 +2020-03-02;8926.5;121.13 +2020-03-01;8572.8;80.52 +2020-02-29;8559;51.5 +2020-02-28;8698.3;164.31 +2020-02-27;8849.8;153.84 +2020-02-26;8821.3;234.45 +2020-02-25;9333.8;123.46 +2020-02-24;9690.6;138.25 +2020-02-23;9999.9;88.53 +2020-02-22;9700.7;42.52 +2020-02-21;9721;80.65 +2020-02-20;9606.2;114.64 +2020-02-19;9617.3;229.99 +2020-02-18;10178.8;199.58 +2020-02-17;9745.1;160.14 +2020-02-16;9950.9;91.13 +2020-02-15;9905;149.31 +2020-02-14;10375;68.63 +2020-02-13;10241;153.15 +2020-02-12;10381.6;101.27 +2020-02-11;10288.5;147.74 +2020-02-10;9879.5;134.78 +2020-02-09;10179.8;118.68 +2020-02-08;9928.9;83.28 +2020-02-07;9834.9;62.79 +2020-02-06;9773.2;115.93 +2020-02-05;9616;129.8 +2020-02-04;9193.6;89.85 +2020-02-03;9313.7;99.75 +2020-02-02;9350.9;74.96 +2020-02-01;9395;55.11 +2020-01-31;9356.7;109.44 +2020-01-30;9540.8;103.16 +2020-01-29;9306.5;113.94 +2020-01-28;9359.7;143.71 +2020-01-27;8912.1;121.7 +2020-01-26;8600;90.68 +2020-01-25;8367.7;46.5 +2020-01-24;8456.9;93.28 +2020-01-23;8424;137.09 +2020-01-22;8681.9;83.0 +2020-01-21;8760.7;86.41 +2020-01-20;8663.6;86.29 +2020-01-19;8718;184.58 +2020-01-18;8939.9;69.92 +2020-01-17;8914.8;135.28 +2020-01-16;8747.1;96.37 +2020-01-15;8818.2;166.11 +2020-01-14;8847.6;253.32 +2020-01-13;8133;56.19 +2020-01-12;8190;66.13 +2020-01-11;8053.8;106.28 +2020-01-10;8200;149.45 +2020-01-09;7855;104.68 +2020-01-08;8069.9;187.28 +2020-01-07;8189.5;176.67 +2020-01-06;7795.3;105.03 +2020-01-05;7387.4;69.14 +2020-01-04;7379.8;40.88 +2020-01-03;7351.3;174.0 +2020-01-02;6984.8;122.34 +2020-01-01;7238.2;64.92 +2019-12-31;7258.7;66.87 +2019-12-30;7277.3;60.2 +2019-12-29;7412.7;58.83 +2019-12-28;7326.2;69.62 +2019-12-27;7277;82.51 +2019-12-26;7231.7;77.39 +2019-12-25;7234.3;54.69 +2019-12-24;7268.1;116.83 +2019-12-23;7362.2;139.99 +2019-12-22;7537;125.15 +2019-12-21;7218.2;33.67 +2019-12-20;7236.8;71.08 +2019-12-19;7214.5;110.28 +2019-12-18;7331;355.05 +2019-12-17;6707.2;212.21 +2019-12-16;6956.5;159.85 +2019-12-15;7166.8;50.65 +2019-12-14;7136.7;80.33 +2019-12-13;7291.9;97.24 +2019-12-12;7264;86.03 +2019-12-11;7280.2;78.18 +2019-12-10;7309.3;114.16 +2019-12-09;7408;106.2 +2019-12-08;7584.9;61.27 +2019-12-07;7575.5;48.24 +2019-12-06;7599.9;108.96 +2019-12-05;7455.9;134.65 +2019-12-04;7258;220.98 +2019-12-03;7372.1;112.65 +2019-12-02;7392.9;145.15 +2019-12-01;7475.7;133.71 +2019-11-30;7617.9;160.03 +2019-11-29;7827.9;136.14 +2019-11-28;7517.2;114.76 +2019-11-27;7560;275.02 +2019-11-26;7249.9;148.63 +2019-11-25;7156.9;411.48 +2019-11-24;6985.2;202.48 +2019-11-23;7377.3;127.32 +2019-11-22;7339.9;617.5 +2019-11-21;7683.4;374.93 +2019-11-20;8147.8;68.05 +2019-11-19;8158;145.35 +2019-11-18;8240;130.96 +2019-11-17;8549.4;36.94 +2019-11-16;8510.2;32.12 +2019-11-15;8522.6;134.5 +2019-11-14;8693.3;80.8 +2019-11-13;8828.1;76.39 +2019-11-12;8849.9;93.53 +2019-11-11;8783.9;101.63 +2019-11-10;9068.3;72.98 +2019-11-09;8833.7;79.02 +2019-11-08;8838.3;233.15 +2019-11-07;9244.1;96.54 +2019-11-06;9402.9;55.82 +2019-11-05;9349.4;89.44 +2019-11-04;9408.8;97.72 +2019-11-03;9250.8;45.67 +2019-11-02;9332.7;52.95 +2019-11-01;9262.5;83.29 +2019-10-31;9183.2;177.2 +2019-10-30;9208.9;159.89 +2019-10-29;9439.3;137.59 +2019-10-28;9236.8;192.53 +2019-10-27;9538.8;296.38 +2019-10-26;9227;562.1 +2019-10-25;8652.3;302.31 +2019-10-24;7450;90.53 +2019-10-23;7487.5;285.17 +2019-10-22;8072.9;84.1 +2019-10-21;8249.5;90.1 +2019-10-20;8250;63.12 +2019-10-19;7984;61.72 +2019-10-18;7991.1;85.37 +2019-10-17;8106;87.8 +2019-10-16;8023.5;92.84 +2019-10-15;8189.2;95.11 +2019-10-14;8354.4;105.74 +2019-10-13;8320;83.33 +2019-10-12;8333.1;40.54 +2019-10-11;8292.6;100.67 +2019-10-10;8601.9;109.24 +2019-10-09;8613.1;143.36 +2019-10-08;8206.1;70.31 +2019-10-07;8208.9;191.99 +2019-10-06;7924.3;133.78 +2019-10-05;8154.9;46.02 +2019-10-04;8179.7;101.74 +2019-10-03;8267.4;128.15 +2019-10-02;8386.9;63.24 +2019-10-01;8347.5;147.57 +2019-09-30;8321.3;186.13 +2019-09-29;8080;71.0 +2019-09-28;8233.1;82.87 +2019-09-27;8222.5;134.79 +2019-09-26;8051.6;271.71 +2019-09-25;8467.3;174.09 +2019-09-24;8592;531.67 +2019-09-23;9712;97.62 +2019-09-22;10061.4;50.4 +2019-09-21;9999.3;70.02 +2019-09-20;10195.9;49.73 +2019-09-19;10280.4;193.1 +2019-09-18;10182.1;85.71 +2019-09-17;10192;73.48 +2019-09-16;10292.4;83.98 +2019-09-15;10299.9;26.35 +2019-09-14;10368.2;54.31 +2019-09-13;10373.4;86.13 +2019-09-12;10406.9;85.66 +2019-09-11;10170;123.14 +2019-09-10;10137.7;91.03 +2019-09-09;10311.4;98.71 +2019-09-08;10401.9;58.56 +2019-09-07;10468.4;85.1 +2019-09-06;10326.6;194.59 +2019-09-05;10575;74.23 +2019-09-04;10592.4;136.78 +2019-09-03;10647.2;172.68 +2019-09-02;10390;162.55 +2019-09-01;9755.3;53.69 +2019-08-31;9620.3;48.78 +2019-08-30;9603.9;66.27 +2019-08-29;9506.9;164.43 +2019-08-28;9741;208.05 +2019-08-27;10191.4;69.18 +2019-08-26;10356.7;135.09 +2019-08-25;10145;73.67 +2019-08-24;10143;109.25 +2019-08-23;10405.5;80.12 +2019-08-22;10154.3;124.96 +2019-08-21;10169.3;153.16 +2019-08-20;10742.4;130.19 +2019-08-19;10925.8;136.98 +2019-08-18;10338.9;75.63 +2019-08-17;10230;88.25 +2019-08-16;10365.5;227.55 +2019-08-15;10324.4;246.52 +2019-08-14;10054;227.97 +2019-08-13;10847.1;123.04 +2019-08-12;11418;75.34 +2019-08-11;11568.3;58.6 +2019-08-10;11316.5;157.02 +2019-08-09;11866.8;130.47 +2019-08-08;11995.1;120.95 +2019-08-07;11927;243.72 +2019-08-06;11471.2;325.41 +2019-08-05;11795.2;307.06 +2019-08-04;10995.3;212.41 +2019-08-03;10803.5;126.61 +2019-08-02;10536.2;144.57 +2019-08-01;10400.8;168.46 +2019-07-31;10094.7;155.91 +2019-07-30;9593.3;147.3 +2019-07-29;9520.6;129.18 +2019-07-28;9536.4;108.91 +2019-07-27;9485;317.53 +2019-07-26;9869.8;118.83 +2019-07-25;9905.3;126.11 +2019-07-24;9800;212.02 +2019-07-23;9870.3;221.41 +2019-07-22;10370;210.44 +2019-07-21;10574.4;192.17 +2019-07-20;10724.8;181.33 +2019-07-19;10547.3;204.44 +2019-07-18;10659.6;377.93 +2019-07-17;9693.9;382.02 +2019-07-16;9450.8;397.06 +2019-07-15;10846.8;467.9 +2019-07-14;10239.4;404.66 +2019-07-13;11346.7;298.26 +2019-07-12;11813.7;265.87 +2019-07-11;11378.4;399.77 +2019-07-10;12135.4;712.67 +2019-07-09;12578.1;460.64 +2019-07-08;12300.3;355.26 +2019-07-07;11450.1;164.17 +2019-07-06;11287.8;176.73 +2019-07-05;11016;277.4 +2019-07-04;11282.8;332.76 +2019-07-03;11988.6;542.14 +2019-07-02;10789.7;623.91 +2019-07-01;10579;746.14 +2019-06-30;10773.1;591.01 +2019-06-29;11891.2;675.48 +2019-06-28;12430.1;822.78 +2019-06-27;11235.2;1250.37 +2019-06-26;13140.3;1434.87 +2019-06-25;11805.7;486.81 +2019-06-24;10968.7;214.68 +2019-06-23;10869.6;285.61 +2019-06-22;10728.8;805.43 +2019-06-21;10169.2;430.91 +2019-06-20;9504.4;224.64 +2019-06-19;9278.7;170.62 +2019-06-18;9095.2;298.85 +2019-06-17;9290.4;246.72 +2019-06-16;8980.8;524.71 +2019-06-15;8820.5;177.88 +2019-06-14;8711.6;219.82 +2019-06-13;8298.2;149.22 +2019-06-12;8184.9;237.97 +2019-06-11;7962.9;161.21 +2019-06-10;8064.9;241.87 +2019-06-09;7697.3;185.55 +2019-06-08;7985;104.06 +2019-06-07;8084.8;212.61 +2019-06-06;7859;259.68 +2019-06-05;7866.9;306.4 +2019-06-04;7749.9;764.4 +2019-06-03;8224.1;327.74 +2019-06-02;8735;202.67 +2019-06-01;8633.9;148.48 +2019-05-31;8647.8;330.5 +2019-05-30;8377;497.69 +2019-05-29;8707.6;233.07 +2019-05-28;8702.2;159.32 +2019-05-27;8663.6;307.39 +2019-05-26;8613.8;438.96 +2019-05-25;8060;130.33 +2019-05-24;8021;248.34 +2019-05-23;7929.4;254.39 +2019-05-22;7686.8;253.82 +2019-05-21;7949.6;221.51 +2019-05-20;7950;450.56 +2019-05-19;8171.5;521.58 +2019-05-18;7380.4;300.99 +2019-05-17;7470.7;807.91 +2019-05-16;8020.6;778.76 +2019-05-15;8175.4;306.9 +2019-05-14;8005.3;685.5 +2019-05-13;7907.1;903.51 +2019-05-12;6944.9;774.82 +2019-05-11;7057.2;872.2 +2019-05-10;6421.1;412.76 +2019-05-09;6249.8;261.92 +2019-05-08;5982.6;167.14 +2019-05-07;5949.9;220.93 +2019-05-06;5760;263.08 +2019-05-05;5794.6;167.37 +2019-05-04;5821.5;379.94 +2019-05-03;5693.7;467.57 +2019-05-02;5436.6;169.0 +2019-05-01;5354.2;143.73 +2019-04-30;5317.1;289.57 +2019-04-29;5255.8;233.24 +2019-04-28;5272.5;137.7 +2019-04-27;5281;83.18 +2019-04-26;5243.3;310.15 +2019-04-25;5216.9;357.23 +2019-04-24;5497.7;297.32 +2019-04-23;5574.2;226.3 +2019-04-22;5405.8;223.53 +2019-04-21;5348.5;109.22 +2019-04-20;5365.4;110.37 +2019-04-19;5328.7;221.46 +2019-04-18;5355.7;150.95 +2019-04-17;5307.4;116.87 +2019-04-16;5287.3;490.85 +2019-04-15;5142.1;318.08 +2019-04-14;5247.8;69.43 +2019-04-13;5169;90.22 +2019-04-12;5166.7;134.71 +2019-04-11;5142;245.69 +2019-04-10;5396.2;200.01 +2019-04-09;5282.2;154.84 +2019-04-08;5345;224.49 +2019-04-07;5209.7;145.01 +2019-04-06;5117.7;164.93 +2019-04-05;5079.9;139.19 +2019-04-04;4950.4;250.37 +2019-04-03;4980;792.81 +2019-04-02;4962.1;794.67 +2019-04-01;4212;171.5 +2019-03-19;4038.7;3.91 +2019-03-18;4036.4;220.58 +2019-03-17;4033.1;116.24 +2019-03-16;4038.3;163.21 +2019-03-15;3980.7;147.86 +2019-03-14;3931;165.9 +2019-03-13;3932;175.98 +2019-03-12;3933.7;183.07 +2019-03-11;3921.8;158.48 +2019-03-10;3953.9;126.52 +2019-03-09;3973.2;140.98 +2019-03-08;3893;179.08 +2019-03-07;3898.9;161.85 +2019-03-06;3903.8;141.21 +2019-03-05;3915.2;233.57 +2019-03-04;3785.5;473.09 +2019-03-03;3865.4;99.75 +2019-03-02;3876;73.92 +2019-03-01;3860.2;133.19 +2019-02-28;3847.9;156.01 +2019-02-27;3850.8;203.5 +2019-02-26;3850.9;139.46 +2019-02-25;3869.8;226.1 +2019-02-24;3765.5;836.87 +2019-02-23;4111;242.37 +2019-02-22;3943.5;6.4 +2019-02-21;3928.6;311.49 +2019-02-20;3994.8;155.82 +2019-02-19;3945.6;230.36 +2019-02-18;3904.1;578.5 +2019-02-17;3668;482.65 +2019-02-16;3697.2;99.96 +2019-02-15;3682.3;133.62 +2019-02-14;3677.2;159.07 +2019-02-13;3684.9;110.31 +2019-02-12;3696;140.44 +2019-02-11;3698.9;169.32 +2019-02-10;3751.9;143.12 +2019-02-09;3709.5;176.33 +2019-02-08;3722.3;413.35 +2019-02-07;3481.8;143.79 +2019-02-06;3482.3;179.22 +2019-02-05;3525;95.88 +2019-02-04;3505.9;94.5 +2019-02-03;3495.1;136.25 +2019-02-02;3544.6;95.27 +2019-02-01;3501.6;159.65 +2019-01-31;3493.6;180.29 +2019-01-30;3505.5;182.88 +2019-01-29;3459.4;167.94 +2019-01-28;3493;360.92 +2019-01-27;3598.8;199.62 +2019-01-26;3613.5;248.4 +2019-01-25;3612;182.38 +2019-01-24;3613;183.25 +2019-01-23;3590;208.28 +2019-01-22;3623.6;351.52 +2019-01-21;3597.9;175.1 +2019-01-20;3602;294.65 +2019-01-19;3738.5;252.97 +2019-01-18;3682.4;493.8 +2019-01-17;3709.8;552.9 +2019-01-16;3672.6;396.3 +2019-01-15;3670.7;252.59 +2019-01-14;3721.8;349.0 +2019-01-13;3590.5;271.68 +2019-01-12;3720;155.34 +2019-01-11;3751.9;267.32 +2019-01-10;3715;478.57 +2019-01-09;4048.8;173.79 +2019-01-08;4044.4;230.58 +2019-01-07;4045.3;374.03 +2019-01-06;4086.1;312.46 +2019-01-05;3865.1;191.18 +2019-01-04;3911.7;178.48 +2019-01-03;3883.1;206.13 +2019-01-02;3971.5;271.87 +2019-01-01;3942.7;191.01 \ No newline at end of file diff --git a/l1 b/l1 deleted file mode 100644 index 76140c26..00000000 --- a/l1 +++ /dev/null @@ -1,6 +0,0 @@ -1) Sforkować repozytorium na Wasze konto -2) Przejść na Waszego forka -3) Ściągnąć wasze repo na dysk i powiązać z repozytorium zdalnym (remote) -4) Napisać sortowanie liczb w dwoma znanymi Wam metodami(język jak ustalaliśmy na laboratorium). Starajcie się napisać funkcje w sposób zwarty, bez żadnych komentarzy czy śmieci w kodzie, w sposób optymalny, z użyciem najlepszych, znanych Wam struktur danych i metod przeglądania ich. Tworząc rozwiązania pracujcie z gitem- dodawajcie na stage, twórzcie commity. Pracujcie na branchu, stwórzcie na potrzeby zadania brancha i nazwijcie go np SortingMethods -5) wypchnijcie zmiany lokalne na repo zdalne -6) utwórzcie merge requesta z brancha SortingMethods do brancha master mojego repo (oryginalnego repo, z którego powstał fork) i nazwijcie go L1. diff --git a/l2 b/l2 deleted file mode 100644 index 89f8155e..00000000 --- a/l2 +++ /dev/null @@ -1,2 +0,0 @@ -Rozwinięcie zadania z listy 1. Do wybranych algorytmów sortowania z listy 1 dobrać 2 inne i zaimplementować je. Napisać funkcję służącą do porównywania algorytmów sortowania, która przyjmuje funkcję i mierzy czas / czasy sortowania. Za jej pomocą porównać algorytmy sortowania. -Pracujcie z gitem, proponuję zrobić osobnego brancha, nazwać go SortingComparison i w nim pracować. Na koniec - jak poprzednio - wysłać na repozytorium remote i wystawić pull request do mojego repozytorium, z którego pierwotnie forkowaliście. Nie akceptuję plików dodanych do gita przez „upload”. Wysyłanie plików na wasze remote repo odbywa się poprzez git push.