gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
ObjedinjenoResenje preimenovano u (adekvatnije) SuperKomplikovanoResenje
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / SuperKomplikovanoResenje / LavirintProgram.java
diff --git a/PretrazivanjeSaVracanjem/Lavirint/SuperKomplikovanoResenje/LavirintProgram.java b/PretrazivanjeSaVracanjem/Lavirint/SuperKomplikovanoResenje/LavirintProgram.java
new file mode 100644 (file)
index 0000000..01adf52
--- /dev/null
@@ -0,0 +1,71 @@
+/**\r
+ * Program za nalazenje puta u lavirintu.\r
+ * \r
+ * Date su cetiri varijante problema, od jednostavnijih ka slozenijima, radi\r
+ * ilustracije osnovnih koncepata i postepenog uvodjenja novih.\r
+ * \r
+ * Najjednostavnije je samo nalazenje da li put postoji.\r
+ * \r
+ * Prosirenje tog resenja nam ispisuje taj nadjeni put.\r
+ * \r
+ * Treca varijanta nalazi sve puteve i medju njima bira najkraci.\r
+ * \r
+ * Cetvrta varijanta resava lavirint u kome su rasuti zlatnici na poljima i\r
+ * nalazi put na kome se kupi najvise zlatnika.\r
+ */\r
+\r
+public class LavirintProgram {\r
+\r
+       public static void main(String[] args) {\r
+               Svetovid.out.println("Unesite ime fajla: ");\r
+               String fajl = Svetovid.in.readLine();\r
+               if (!Svetovid.testIn(fajl)) {\r
+                       System.out.println("Greska: nema fajla!");\r
+                       return;\r
+               }\r
+\r
+               Lavirint l = new Lavirint(fajl);\r
+               Put r;\r
+\r
+               if (l != null) {\r
+                       System.out.println("1 - da li postoji put");\r
+                       System.out.println("2 - ispis nekog puta (ako postoji)");\r
+                       System.out.println("3 - nalazenje najkraceg puta");\r
+                       System.out.println("4 - nalazenje najvrednijeg puta");\r
+                       System.out.println("Unesite izbor 1-4:");\r
+                       int op = Svetovid.in.readInt();\r
+\r
+                       switch (op) {\r
+                       case 1:\r
+                               if (l.postojiPut(0, 0)) {\r
+                                       System.out.println("Postoji put");\r
+                               } else {\r
+                                       System.out.println("Ne postoji put");\r
+                               }\r
+                               break;\r
+                       case 2:\r
+                               l.nadjiPut(0, 0);\r
+                               break;\r
+                       case 3:\r
+                               r = l.najkraciPut(0, 0);\r
+                               if (r != null) {\r
+                                       r.stampaj();\r
+                               } else {\r
+                                       System.out.println("Nema resenja");\r
+                               }\r
+                               break;\r
+                       case 4:\r
+                               r = l.najvrednijiPut(0, 0);\r
+                               if (r != null) {\r
+                                       r.stampaj();\r
+                                       System.out.println("Vrednost puta: " + r.getVrednost());\r
+                               } else {\r
+                                       System.out.println("Nema resenja");\r
+                               }\r
+                               break;\r
+                       default:\r
+                               System.err.println("Uneli ste pogresan izbor");\r
+                       }\r
+               }\r
+       }\r
+}
\ No newline at end of file
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner