Merged some nasty programs from softz.harvie.cz
[mirrors/Programs.git] / java / pisemka / Analyze.java.txt
diff --git a/java/pisemka/Analyze.java.txt b/java/pisemka/Analyze.java.txt
new file mode 100755 (executable)
index 0000000..7d809ed
--- /dev/null
@@ -0,0 +1,119 @@
+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();
+       }
+}
+
+
This page took 0.151246 seconds and 4 git commands to generate.