--- /dev/null
+import java.io.*;
+import java.util.*;
+import java.lang.Math;
+
+/** Pisemka - program "Analyze"
+ * Copylefted by: Harvie 2oo9 ( http://blog.harvie.cz/ )
+ * @author Thomas Harvie Mudrunka (mudruto1)
+ * @version 1.0
+ */
+/* Priklad:
+Zadavej posloupnost ukoncenou zapornym cislem:
+1
+2
+3
+4
+5
+-1
+Byla zadana nasledujici rada:
+1.0; 2.0; 3.0; 4.0; 5.0;
+minimum = 1.0
+maximum = 5.0
+Cisla delitelna 3.0:
+3.0;
+prumer = 3,00
+Prvocisla:
+2.0; 3.0; 5.0;
+*/
+class analyzator {
+ private double[] seq = new double[101];
+ private Scanner sc = new Scanner(System.in);
+
+ public boolean readSeq() {
+ System.out.println("Zadavej posloupnost ukoncenou zapornym cislem:");
+ int i;;
+ for(i=0;i<seq.length;i++) {
+ try {
+ seq[i] = sc.nextDouble();
+ } catch(Exception e) {
+ return false;
+ }
+ if(seq[i] < 0) break;
+ }
+ System.out.println("Byla zadana nasledujici rada:");
+ for(i=0;i<seq.length;i++) {
+ if(seq[i] < 0) break;
+ System.out.print(seq[i]+"; ");
+ }
+ System.out.println("");
+ return true;
+ }
+
+ public void vypisMinimax() {
+ double min = seq[0], max = seq[0];
+ int i;
+ for(i=1;i<seq.length;i++) {
+ if(seq[i] < 0) break;
+ if(seq[i] < min) min = seq[i];
+ if(seq[i] > max) max = seq[i];
+ }
+ System.out.println("minimum = "+min);
+ System.out.println("maximum = "+max);
+ }
+
+ public void vypisDelitelne(double a) {
+ System.out.println("Cisla delitelna "+a+":");
+ int i;
+ for(i=0;i<seq.length;i++) {
+ if(seq[i] < 0) break;
+ if((seq[i] % a) == 0) System.out.print(seq[i]+"; ");
+ }
+ System.out.println("");
+ }
+
+ public boolean jePrvocislo(double a) {
+ if(a <= 1) return false;
+ if(a == 2) return true;
+ if(a % 2 == 0) return false;
+ int i;
+ for(i = 3; i <= Math.sqrt(a); i += 2){
+ if(a % i == 0) return false;
+ }
+ return true;
+ }
+
+ public void vypisPrvocisla() {
+ System.out.println("Prvocisla:");
+ int i;
+ for(i=0;i<seq.length;i++) {
+ if(seq[i] < 0) break;
+ if(jePrvocislo(seq[i])) System.out.print(seq[i]+"; ");
+ }
+ System.out.println("");
+ }
+
+ public void vypisPrumer() {
+ int i, max;
+ double avg = 0;
+ for(max=0;max<seq.length;max++) if(seq[max] < 0) break;
+ for(i=0;i<max;i++) avg += (seq[i]/max);
+ System.out.printf("prumer = %.2f\n",avg);
+ }
+}
+
+public class Analyze {
+ public static void main(String[] argv) {
+ //System.out.println("\n");
+ analyzator a = new analyzator();
+ if(!a.readSeq()) {
+ System.err.println("Neco je spatne.");
+ System.exit(1);
+ }
+ a.vypisMinimax();
+ a.vypisDelitelne(3);
+ a.vypisPrumer();
+ a.vypisPrvocisla();
+ }
+}
+
+