<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=DCV_2023_03%2FStrukturierte_Programmierung_Uebungen%2FArrays</id>
	<title>DCV 2023 03/Strukturierte Programmierung Uebungen/Arrays - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=DCV_2023_03%2FStrukturierte_Programmierung_Uebungen%2FArrays"/>
	<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2023_03/Strukturierte_Programmierung_Uebungen/Arrays&amp;action=history"/>
	<updated>2026-04-14T18:41:30Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CCWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2023_03/Strukturierte_Programmierung_Uebungen/Arrays&amp;diff=2846&amp;oldid=prev</id>
		<title>Gyula: Die Seite wurde neu angelegt: „Im Folgenden finden sich Aufgaben für Arrays und deren Sortierung.  === Aufgabe: Number Array === Erstelle ein {{JSL|int[]}} mit der Dimension von Benutzerangabe und befülle mit 1, 2, 3, usw.  Erstelle ein zweites {{JSL|int[]}} und befülle mit Zahlen entsprechend der Größe ..., 3, 2, 1.    === Aufgabe: Kopie ===  Erstelle eine Funktion, die aus dem Parameter-Array eine Kopie erstellt.  {{JML|code= public static int[] makeACopy(int[] original){ } }}…“</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2023_03/Strukturierte_Programmierung_Uebungen/Arrays&amp;diff=2846&amp;oldid=prev"/>
		<updated>2023-03-15T10:06:42Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Im Folgenden finden sich Aufgaben für Arrays und deren Sortierung.  === Aufgabe: Number Array === Erstelle ein {{JSL|int[]}} mit der Dimension von Benutzerangabe und befülle mit 1, 2, 3, usw.  Erstelle ein zweites {{JSL|int[]}} und befülle mit Zahlen entsprechend der Größe ..., 3, 2, 1.    === Aufgabe: Kopie ===  Erstelle eine Funktion, die aus dem Parameter-Array eine Kopie erstellt.  {{JML|code= public static int[] makeACopy(int[] original){ } }}…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Im Folgenden finden sich Aufgaben für Arrays und deren Sortierung.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Number Array ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} mit der Dimension von Benutzerangabe und befülle mit 1, 2, 3, usw.&lt;br /&gt;
&lt;br /&gt;
Erstelle ein zweites {{JSL|int[]}} und befülle mit Zahlen entsprechend der Größe ..., 3, 2, 1. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Kopie ===&lt;br /&gt;
&lt;br /&gt;
Erstelle eine Funktion, die aus dem Parameter-Array eine Kopie erstellt.&lt;br /&gt;
&lt;br /&gt;
{{JML|code=&lt;br /&gt;
public static int[] makeACopy(int[] original){&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Random Number Array ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} und befülle es mit Zufallszahlen von &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; bis &amp;#039;&amp;#039;&amp;#039;100&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
{{JML|code=&lt;br /&gt;
Random random = new Random();&lt;br /&gt;
...&lt;br /&gt;
int randomNumber = random.nextInt([Upper bound]);&lt;br /&gt;
}}&lt;br /&gt;
# Gib es mit Hilfe einer &amp;#039;&amp;#039;&amp;#039;foreach-Schleife&amp;#039;&amp;#039;&amp;#039; aus.&lt;br /&gt;
# Gib es mit Hilfe einer &amp;#039;&amp;#039;&amp;#039;fori-Schleife&amp;#039;&amp;#039;&amp;#039; aus. Das Ziel ist eine identische Ausgabe, wie {{JSL|Arrays.toString()}}&lt;br /&gt;
# Gib den zweiten, fünften und zehnten Wert des Arrays aus.&lt;br /&gt;
# Gib jeden zweiten Wert des {{JSL|int[]}} mit Hilfe einer &amp;#039;&amp;#039;&amp;#039;Schleife&amp;#039;&amp;#039;&amp;#039; aus.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Random Number Array Crazy Range ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} und befülle es mit Zufallszahlen von &amp;#039;&amp;#039;&amp;#039;-50&amp;#039;&amp;#039;&amp;#039; bis &amp;#039;&amp;#039;&amp;#039;50&amp;#039;&amp;#039;&amp;#039; und gib es mit Hilfe einer &amp;#039;&amp;#039;&amp;#039;foreach-Schleife&amp;#039;&amp;#039;&amp;#039; aus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Random Number Array Zählen ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} und befülle es mit Zufallszahlen von &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; bis &amp;#039;&amp;#039;&amp;#039;100&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Erstelle eine Funktion, die die Werte größer als 30 zählt.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Random Number Array Summe ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} und befülle es mit Zufallszahlen von &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; bis &amp;#039;&amp;#039;&amp;#039;100&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Erstelle eine Funktion, die die Summe der Werte zurückgibt.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Random Number Array Min/Max/Avg ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} und befülle es mit Zufallszahlen von &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; bis &amp;#039;&amp;#039;&amp;#039;100&amp;#039;&amp;#039;&amp;#039;. Erstelle jeweils eine Methode für das &amp;#039;&amp;#039;&amp;#039;Minimum&amp;#039;&amp;#039;&amp;#039;, das &amp;#039;&amp;#039;&amp;#039;Maximum&amp;#039;&amp;#039;&amp;#039; und den &amp;#039;&amp;#039;&amp;#039;Durchschnitt&amp;#039;&amp;#039;&amp;#039;. Die Methoden sollen jeweils den Wert zurückgeben (nicht Ausgeben). In der {{JSL|main}} Methode Rufe die Methoden mit den Zufallszahlen auf und gib diese aus.&lt;br /&gt;
&lt;br /&gt;
Erstelle zwei weitere Funktionen, die den &amp;#039;&amp;#039;&amp;#039;Index&amp;#039;&amp;#039;&amp;#039; des Minimums und des Maximums zurückgeben.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Bubblesort mit Zahlen ===&lt;br /&gt;
Erstelle ein {{JSL|int[]}} und sortiere es mit einem selbsterstellten &amp;#039;&amp;#039;&amp;#039;Bubblesort Algorithmus&amp;#039;&amp;#039;&amp;#039; und gib es dann aus. Der &amp;#039;&amp;#039;&amp;#039;Bubblesort Algorithmus&amp;#039;&amp;#039;&amp;#039; soll in einer eigenen Methode implementiert werden. Der Aufruf und die Ausgabe erfolgt in der {{JSL|main}} Methode.&lt;br /&gt;
# Sortiere der Größe nach aufsteigend (Ascending)&lt;br /&gt;
# Sortiere der Größe nach absteigend (Descending)&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Bonusaufgabe: 15 verschiedene Sortieralgorithmen&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
Implementiere 3 unterschiedliche Algorithmen deiner Wahl auf folgendem Video:&lt;br /&gt;
 https://www.youtube.com/watch?v=kPRA0W1kECg&lt;br /&gt;
&lt;br /&gt;
Den Pseudo-Code der Algorithmen findest du unter:&lt;br /&gt;
 https://panthema.net/2013/sound-of-sorting/SoS-CheatSheet.pdf&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: 2D-Array ===&lt;br /&gt;
Erstelle ein Zwei-Dimension-Array {{JSL|int[][]}} und befülle es mit Zufallszahlen von &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; bis &amp;#039;&amp;#039;&amp;#039;100&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Nach Eingabe von Anwender gebe zurück die Summe pro Zeile oder pro Spalte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Pascal Dreieck ===&lt;br /&gt;
Frage den Anwender nach der gewünschten Größe und erstelle ein Pascal-Dreieck mit der entsprechenden Dimension.&lt;br /&gt;
 Regel: Jede Zahl in der Matrix ist gleich die Summe der Nachbarzahlen nach &amp;#039;&amp;#039;&amp;#039;Links&amp;#039;&amp;#039;&amp;#039; und nach &amp;#039;&amp;#039;&amp;#039;Oben&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aufruf&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
{{BML|code=&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;10&lt;br /&gt;
&lt;br /&gt;
 1       1       1       1       1       1       1       1       1       1 &lt;br /&gt;
 1       2       3       4       5       6       7       8       9      10 &lt;br /&gt;
 1       3       6      10      15      21      28      36      45      55 &lt;br /&gt;
 1       4      10      20      35      56      84     120     165     220 &lt;br /&gt;
 1       5      15      35      70     126     210     330     495     715 &lt;br /&gt;
 1       6      21      56     126     252     462     792    1287    2002 &lt;br /&gt;
 1       7      28      84     210     462     924    1716    3003    5005 &lt;br /&gt;
 1       8      36     120     330     792    1716    3432    6435   11440 &lt;br /&gt;
 1       9      45     165     495    1287    3003    6435   12870   24310 &lt;br /&gt;
 1      10      55     220     715    2002    5005   11440   24310   48620&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Formular Generieren (Anwendung von Pascal Dreieck) ===&lt;br /&gt;
Wenn wir die Zahlen Diagonal lesen, bekommen wir die Koeffizienten von {{JSL|(a+b)^n}}&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
 (a+b)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; = a&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 2ab + b&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 (a+b)&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; = a&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 3a&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;b + 3ab&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + b&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Frage den Anwender, welche Formular er braucht, und gib die konkrete Formel in der Konsole aus.&lt;br /&gt;
Verwende {{JSL|^}} für die Darstellung des Exponenten.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: TicTacToe ===&lt;br /&gt;
Programmiere das Spiel TicTacToe.&lt;br /&gt;
&lt;br /&gt;
Für das Spielfeld, verwende {{JSL|int[3][3]}} Array, in dem&lt;br /&gt;
* 0 = Leer&lt;br /&gt;
* 1 = Spieler 1&lt;br /&gt;
* 2 = Spieler 2&lt;br /&gt;
&lt;br /&gt;
Das Kriterium für Gewinn ist, 3 Zeichen in eine Reihe, Spalte oder Diagonal.&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Bonusaufgabe: 4 in Rows&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
Das Spiel wird auf einem senkrecht stehenden hohlen Spielbrett gespielt, in das die Spieler&lt;br /&gt;
abwechselnd ihre &amp;#039;&amp;#039;&amp;#039;Spielsteine fallen lassen&amp;#039;&amp;#039;&amp;#039;. Das Spielbrett besteht aus &amp;#039;&amp;#039;&amp;#039;sieben Spalten (senkrecht) und sechs Reihen (waagerecht)&amp;#039;&amp;#039;&amp;#039;. Jeder Spieler besitzt 21 gleichfarbige Spielsteine. Wenn ein Spieler einen&lt;br /&gt;
Spielstein in eine Spalte fallen lässt, besetzt dieser den untersten freien Platz der Spalte. Gewinner ist&lt;br /&gt;
der Spieler, der es als erster schafft, &amp;#039;&amp;#039;&amp;#039;vier oder mehr seiner Spielsteine waagerecht, senkrecht oder diagonal in eine Linie&amp;#039;&amp;#039;&amp;#039; zu bringen. &lt;br /&gt;
Das Spiel endet unentschieden, wenn das Spielbrett komplett gefüllt ist, ohne dass ein Spieler eine Viererlinie gebildet hat.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Conways Game of life ===&lt;br /&gt;
&lt;br /&gt;
Im folgenden soll [https://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens Conways Spiel des Lebens] implementiert werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Animated glider emblem.gif|mini|ohne|Glider&amp;lt;ref&amp;gt;https://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
# Die Spielregeln finden sich [https://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens#Die_Spielregeln hier].&lt;br /&gt;
# Als Ausgangsfeld verwende folgende 2D-Arrays:&lt;br /&gt;
## {{JSL|lukas.week3.day4.ConwaysGameOfLife.GLEITER}}&lt;br /&gt;
## {{JSL|lukas.week3.day4.ConwaysGameOfLife.SEGLER}}&lt;br /&gt;
## Ein zufällig generiertes Array&lt;br /&gt;
# Verwende nach jedem Durchgang folgenden Code (dieser verlangsamt die Ausgabe) {{JML|code=&lt;br /&gt;
try {&lt;br /&gt;
    Thread.sleep(1000);&lt;br /&gt;
} catch(InterruptedException exc) {&lt;br /&gt;
    //noop &lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
# Rufe vor der Ausgabe {{JSL|lukas.week3.day4.ConwaysGameOfLife.clearScreen();}} auf&lt;br /&gt;
# Starte das Programm über {{BSL|git-bash}} {{BML|code=&lt;br /&gt;
cd [dein Pfad zum Projekt]/&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gyula</name></author>
	</entry>
</feed>