Hi Leute,
ich bin neu im Forum. Ein Kumpel und ich haben ne Aufgabe bekommen, den Shakersort zu verwenden, um ein zufällig generiertes Array zu sortieren. Einen Code für den Shakersort, den wir soweit verstanden haben, hatten wir gegeben und wie man Zufallszahlen erzeugt wissen wir noch aus dem Unterricht in der Schule, jedoch schaffen wir es nicht, Zufallszahlen zu erzeugen, die dann in das Array "intArr" geschrieben werden und anschließen mit Hilfe des Shakersort sortiert werden. Wir hoffen einer von euch hat vll. ne Idee und kann uns helfen, wir grübeln seit Tagen daran, auch wenn es villeicht einfach sein mag, dennoch kriegen wir es nicht hin. Hier sind unsere Ansätze, bzw. den 2. Code für den Shakersort hatten wir gegeben.
Code 1, Zufällige Zahlen erzeugen, diese dann in ein Array schreiben:
Code 2, der vorgegebene Shakersort, in das "intArr" Array sollen die Zufallszahlen vom obigen Code geschrieben werden:
Unsere Versuche z.B.:
Es ist ne Weile her, dass wir Java-Programmierung in der Schule hatten, dementsprechend sind unsere Kentnisse relativ beschränkt, wir hoffen, dass einer von euch ne Idee hat bzw. eine Lösung für unser Problem.
Vielen Dank schonmal im Vorraus.
ich bin neu im Forum. Ein Kumpel und ich haben ne Aufgabe bekommen, den Shakersort zu verwenden, um ein zufällig generiertes Array zu sortieren. Einen Code für den Shakersort, den wir soweit verstanden haben, hatten wir gegeben und wie man Zufallszahlen erzeugt wissen wir noch aus dem Unterricht in der Schule, jedoch schaffen wir es nicht, Zufallszahlen zu erzeugen, die dann in das Array "intArr" geschrieben werden und anschließen mit Hilfe des Shakersort sortiert werden. Wir hoffen einer von euch hat vll. ne Idee und kann uns helfen, wir grübeln seit Tagen daran, auch wenn es villeicht einfach sein mag, dennoch kriegen wir es nicht hin. Hier sind unsere Ansätze, bzw. den 2. Code für den Shakersort hatten wir gegeben.
Code 1, Zufällige Zahlen erzeugen, diese dann in ein Array schreiben:
Java:
import java.util.Random;
public class Zufallszahlen {
public static void main(String[] args) {
int [] zarr= new int[10];
for (int p=0; p<10; p++) {
zarr[p]=(int)(Math.random()*100+1);
System.out.println(zarr[p]);
}
}
}
Code 2, der vorgegebene Shakersort, in das "intArr" Array sollen die Zufallszahlen vom obigen Code geschrieben werden:
Java:
public class Shakersort {
public int[] intArr = { "hier zufällige Zahlen hinenschreiben" };
int k;
public int[] sort() {
int i = 0, l = intArr.length;
while (i < l) {
shaker1(i, l);
l--;
shaker2(i, l);
i++;
}
return intArr;
}
private void shaker1(int i, int l) {
for (int j = i; j < l - 1; j++) {
if (intArr[j] > intArr[j + 1]) {
k = intArr[j];
intArr[j] = intArr[j + 1];
intArr[j + 1] = k;
}
}
}
private void shaker2(int i, int l) {
for (int j = l - 1; j >= i; j--) {
if (intArr[j] > intArr[j + 1]) {
k = intArr[j];
intArr[j] = intArr[j + 1];
intArr[j + 1] = k;
}
}
}
public static void main(String[] args) {
Shakersort ss = new Shakersort();
int[] arr = ss.sort();
for (int i = 0; i < arr.length; i++) {
System.out.println(i + 1 + ": " + arr[i]);
}
}
}
Unsere Versuche z.B.:
Java:
import java.util.Random;
import java.util.Array;
public class Shakersort {
public int[] intArr = { intArr[p] };
for (int p=0; p<10; p++) {
intArr[p]=(int)(Math.random()*100+1);
}
int k;
public int[] sort() {
int i = 0, l = intArr.length;
while (i < l) {
shaker1(i, l);
l--;
shaker2(i, l);
i++;
}
return intArr;
}
private void shaker1(int i, int l) {
for (int j = i; j < l - 1; j++) {
if (intArr[j] > intArr[j + 1]) {
k = intArr[j];
intArr[j] = intArr[j + 1];
intArr[j + 1] = k;
}
}
}
private void shaker2(int i, int l) {
for (int j = l - 1; j >= i; j--) {
if (intArr[j] > intArr[j + 1]) {
k = intArr[j];
intArr[j] = intArr[j + 1];
intArr[j + 1] = k;
}
}
}
public static void main(String[] args) {
Shakersort ss = new Shakersort();
int[] arr = ss.sort();
for (int i = 0; i < arr.length; i++) {
System.out.println(i + 1 + ": " + arr[i]);
}
}
}
Es ist ne Weile her, dass wir Java-Programmierung in der Schule hatten, dementsprechend sind unsere Kentnisse relativ beschränkt, wir hoffen, dass einer von euch ne Idee hat bzw. eine Lösung für unser Problem.
Vielen Dank schonmal im Vorraus.
Zuletzt bearbeitet von einem Moderator: