Advertisement
NebojshaTodorovic

AIPS-Lab1-Patuvanje

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