DamSi

Untitled

May 29th, 2016
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.24 KB | None | 0 0
  1. package dopolnitelni_casovi.linkedlists;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7. import java.util.Collection;
  8. import java.util.Collections;
  9. import java.util.List;
  10.  
  11. /**
  12.  * ----------------------------
  13.  * Project: APS
  14.  * Package: dopolnitelni_casovi.linkedlists
  15.  * Created on: 29.5.2016, 14:07
  16.  * IDE: IntelliJ IDEA
  17.  * ----------------------------
  18.  * Author: Damjan Miloshevski
  19.  * Web: http://damjanmiloshevski.mk/
  20.  * Phone: +389 (0)78 566 409
  21.  * Skype: damjan.milosevski
  22.  * LinkedIn: https://mk.linkedin.com/in/damjanmiloshevski
  23.  * GitHub: https://github.com/damsii
  24.  * Bitbucket: https://bitbucket.org/dam_si
  25.  */
  26. public class PodeliSporedProsek {
  27.     /* TODO:
  28.     Дадена е еднострано поврзана листа чии што јазли содржат по еден природен број.
  29. Листата треба да се подели на две резултантни листи, т.ш. во првата листа треба да се сместат сите јазли
  30.  кои содржат броеви помали или еднакви на просекот на листата (просек на листа претставува математички просек
  31.  од сите природни броеви кои се јавуваат во листата), а во втората сите јазли кои содржат броеви поголеми од
  32.  просекот на листата. Јазлите во резултантните листи се додаваат според редоследот по кој се појавуваат во дадената
  33.   листа.
  34.  
  35. Во првиот ред од влезот е даден бројот на јазли во листата, а во вториот ред се дадени броевите од кои се
  36.  составени јазлите по редослед во листата. Во првиот ред од излезот треба да се испечатат јазлите по редослед
  37.  од првата резултантна листа (броеви помали или еднакви на просекот на листата), во вториот ред од втората
  38.  (броеви поголеми од просекот на листата) .
  39.      */
  40.     /*
  41.     * Sample input
  42. 5
  43. 4 2 1 5 3
  44. Sample output
  45. 2 1 3
  46. 4 5
  47.     * */
  48.     public static void main(String[] args) {
  49.         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  50.         List<Integer> lista = new ArrayList<>();
  51.         try {
  52.             int N = Integer.parseInt(in.readLine());
  53.             String[] elementi = in.readLine().split(" ");
  54.             for (String i : elementi) {
  55.                 lista.add(Integer.parseInt(i));
  56.             }
  57.             int prosek = najdiProsek(lista);
  58.             List<Integer> pomaliEdnakvi = pomaliEdnakviProsek(lista, prosek);
  59.             List<Integer> pogolemiProsek = pogolemiProsek(lista, prosek);
  60.             for (Integer i : pomaliEdnakvi) {
  61.                 System.out.print(i + " ");
  62.             }
  63.             System.out.println();
  64.             for (Integer i : pogolemiProsek) {
  65.                 System.out.print(i + " ");
  66.             }
  67.  
  68.         } catch (IOException e) {
  69.             e.printStackTrace();
  70.         }
  71.     }
  72.  
  73.     static List<Integer> pomaliEdnakviProsek(List<Integer> lista, int prosek) {
  74.         List<Integer> rezultat = new ArrayList<>();
  75.         for (Integer i : lista) {
  76.             if (i <= prosek) {
  77.                 rezultat.add(i);
  78.             }
  79.         }
  80.         return rezultat;
  81.     }
  82.  
  83.     static List<Integer> pogolemiProsek(List<Integer> lista, int prosek) {
  84.         List<Integer> rezultat = new ArrayList<>();
  85.         for (Integer i : lista) {
  86.             if (i > prosek) {
  87.                 rezultat.add(i);
  88.             }
  89.         }
  90.         return rezultat;
  91.     }
  92.  
  93.     static int najdiProsek(List<Integer> lista) {
  94.         int prosek = 0;
  95.         int suma = 0;
  96.         for (Integer i : lista) {
  97.             suma += i;
  98.         }
  99.         prosek = suma / lista.size();
  100.         return prosek;
  101.     }
  102.  
  103. }
Advertisement
Add Comment
Please, Sign In to add comment