Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
ffprog:ffprogjava2016:inputoutput [2016/09/09 20:50] Ivo Blöchliger [SOI - Aufgaben] |
ffprog:ffprogjava2016:inputoutput [2016/09/11 21:05] (current) Ivo Blöchliger [SOI - Aufgaben] |
||
---|---|---|---|
Line 107: | Line 107: | ||
* Input: {{ : | * Input: {{ : | ||
- | ==== SOI - Aufgaben ==== | ||
- | === CableCar === | ||
- | Aufgabentext: | ||
- | * Cable-Car Instanzen und Lösungen. Aufgabe 1 {{ : | ||
- | * Cable-Car Aufgabe 2: {{ : | ||
- | |||
- | == Lösungsvorschlag Cablecar Aufgaben 1 und 2 == | ||
- | <hidden Anzeigen> | ||
- | <code java> | ||
- | Path datei = Paths.get(" | ||
- | // Speicher für die Ausgabe | ||
- | ArrayList< | ||
- | try (Scanner scanner = new Scanner(Files.newInputStream(datei))) { | ||
- | int n = scanner.nextInt(); | ||
- | for (int i=0; i<n; i++) { | ||
- | int m = scanner.nextInt(); | ||
- | boolean ok = true; | ||
- | int a = scanner.nextInt(); | ||
- | int b = scanner.nextInt(); | ||
- | int d = b-a; // Differenz zwischen Masten 0 und 1 | ||
- | for (int j=2; j<m; j++) { | ||
- | int c = scanner.nextInt(); | ||
- | if (c-b!=d) { // Mit letztem Masten vergleichen | ||
- | ok = false; | ||
- | } | ||
- | b = c; // Aktueller Mast wird letzter Mast | ||
- | } | ||
- | lines.add(String.format(" | ||
- | } | ||
- | } | ||
- | // Einzeiler, das eine Liste von Strings in eine Datei schreibt. | ||
- | Files.write(Paths.get(" | ||
- | </ | ||
- | </ |