Advertisement
StefiIOE

Patuvanje

Oct 19th, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.21 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Arrays;
  3.  
  4. //вашиот код
  5.  
  6. class MyException extends Exception {
  7.     MyException () {}
  8.     MyException (String s) {
  9.         System.out.println(s);
  10.     }
  11.  
  12. }
  13.  
  14. class Patuvanje {
  15.     String ime;
  16.     int cena;
  17.     public Patuvanje() {
  18.         super();
  19.     }
  20.     public Patuvanje(String ime, int cena) {
  21.         super();
  22.         this.ime = ime;
  23.         this.cena = cena;
  24.     }
  25.     public String getIme() {
  26.         return ime;
  27.     }
  28.     public void setIme(String ime) {
  29.         this.ime = ime;
  30.     }
  31.     public int getCena() {
  32.         return cena;
  33.     }
  34.     public void setCena(int cena) {
  35.         this.cena = cena;
  36.     }
  37.     int vratiVremeVoDenovi() {
  38.         return 0;
  39.     };
  40.  
  41.     int vratiMinCena(Patuvanje [] niza, int n, Patuvanje zaSporedba) {
  42.         int min = 0;
  43.         int flag = 1 ;
  44.         for(int i = 0 ; i < niza.length ; i++) {
  45.             if(niza[i].vratiVremeVoDenovi() > zaSporedba.vratiVremeVoDenovi() ) {
  46.                 if(flag == 1 ) {
  47.                     min = niza[i].cena;
  48.                 }
  49.                 if(niza[i].cena < min) {
  50.                     min=niza[i].cena;
  51.                 }
  52.             }
  53.         }
  54.         return min;
  55.     }
  56. }
  57.  
  58.  
  59. class PraznicnoPatuvanje {
  60.     int  datump;
  61.     int mesec1;
  62.     int datumk;
  63.     int mesec2;
  64.     public PraznicnoPatuvanje() {
  65.         super();
  66.     }
  67.     public PraznicnoPatuvanje(String ime , int cena , int datump, int mesec1, int datumk, int mesec2) {
  68.         super();
  69.         this.datump = datump;
  70.         this.mesec1 = mesec1;
  71.         this.datumk = datumk;
  72.         this.mesec2 = mesec2;
  73.  
  74.         try {
  75.             if(mesec1 > mesec2) {
  76.                 throw new MyException("Isklucok");
  77.             }
  78.         } catch (MyException e) {
  79.             this.datump=datumk;
  80.             this.datumk=datump;
  81.             this.mesec1=mesec2;
  82.             this.mesec2=mesec1;
  83.         }
  84.  
  85.  
  86.     }
  87.  
  88.     public int getDatump() {
  89.         return datump;
  90.     }
  91.     public int getMesec1() {
  92.         return mesec1;
  93.     }
  94.     public int getDatumk() {
  95.         return datumk;
  96.     }
  97.     public int getMesec2() {
  98.         return mesec2;
  99.     }
  100.     public void setDatump(int datump) {
  101.         this.datump = datump;
  102.     }
  103.     public void setMesec1(int mesec1) {
  104.         this.mesec1 = mesec1;
  105.     }
  106.     public void setDatumk(int datumk) {
  107.         this.datumk = datumk;
  108.     }
  109.     public void setMesec2(int mesec2) {
  110.         this.mesec2 = mesec2;
  111.     }
  112.  
  113.     int vratiVremeVoDenovi() {
  114.         if(mesec1==mesec2) {
  115.             return datumk-datump;
  116.         } else {
  117.             return 30 - datump + datumk;
  118.         }
  119.     }
  120.  
  121. }
  122.  
  123.  
  124. class GodishenOdmor extends Patuvanje {
  125.     int vremetraenje;
  126.  
  127.     public GodishenOdmor() {
  128.         super();
  129.     }
  130.  
  131.     public GodishenOdmor(String ime , int cena ,int vremetraenje) {
  132.         super(ime, cena-1000);
  133.         this.vremetraenje = vremetraenje;
  134.     }
  135.  
  136.     public int getVremetraenje() {
  137.         return vremetraenje;
  138.     }
  139.  
  140.     public void setVremetraenje(int vremetraenje) {
  141.         this.vremetraenje = vremetraenje;
  142.     }
  143.     int vratiVremeVoDenovi() {
  144.         return this.vremetraenje;
  145.     }
  146.  
  147. }
  148.  
  149.  
  150.  
  151. public class Test {
  152.  
  153.  
  154.     public static void main(String[] args) {
  155.  
  156.  
  157.         int n;
  158.         Scanner in=new Scanner(System.in);
  159.         n=in.nextInt();
  160.  
  161.         Patuvanje nizaPatuvanje[]=new Patuvanje[n];
  162.  
  163.         for (int i=0; i<n; i++) {
  164.             int tip=in.nextInt();
  165.             if (tip==0) {
  166.                 String ime=in.next();
  167.                 int cena =in.nextInt();
  168.                 int vreme=in.nextInt();
  169.                 nizaPatuvanje[i]=new GodishenOdmor(ime,cena,vreme);
  170.             } else {
  171.                 String ime=in.next();
  172.                 int cena =in.nextInt();
  173.                 int pocD=in.nextInt();
  174.                 int pocM=in.nextInt();
  175.                 int krajD=in.nextInt();
  176.                 int krajM=in.nextInt();
  177.                 nizaPatuvanje[i]=new PraznicnoPatuvanje(ime,cena,pocD,pocM, krajD,krajM);
  178.  
  179.             }
  180.         }
  181.  
  182.         //решение на барање 1
  183.  
  184.         for(int i = 0 ; i < n ; i++) {
  185.            
  186.               if(nizaPatuvanje[i] instanceof PraznicnoPatuvanje)
  187.               {
  188.                 if(((PraznicnoPatuvanje) nizaPatuvanje[i]).getMesec1()==6)
  189.                 {
  190.                     System.out.print(nizaPatuvanje[i].getIme()+"");
  191.                 }
  192.  
  193.             }
  194.         }
  195.        
  196.            
  197.  
  198.         System.out.println();
  199.  
  200.  
  201.  
  202.         //решение на барање 2
  203.         int suma = 0 ;
  204.         for (int i = 0 ; i < n ; i++) {
  205.             suma = suma + nizaPatuvanje[i].vratiVremeVoDenovi();
  206.         }
  207.         System.out.println((double) suma/n);
  208.  
  209.  
  210.  
  211.         //решение на барање 3
  212.         String agencija = in.next();
  213.         int cena = in.nextInt();
  214.         int vremetraenje = in.nextInt();
  215.  
  216.         GodishenOdmor odmor = new GodishenOdmor(agencija,cena,vremetraenje);
  217.  
  218.  
  219.         //решение на барање 4
  220.        
  221.         int minimalnaCena;
  222.  
  223.         minimalnaCena = Patuvanje.vratiMinCena(nizaPatuvanje,n,odmor);
  224.        
  225.         System.out.println(minimalnaCena);
  226.    
  227.  
  228.  
  229.  
  230.     }
  231.  
  232. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement