#1 25. Januar 2008 doppelte Elemente finden hi leute ich hab einen auftrag bekommen heute in informatik und ich hab voll kein plan vom proggen und nun soll ich hier in dem quelltext was einfügen damit ich doppelte Elemente finden kann Code: public class Sortierer { private int[] zahl; int anzahl = 50; public Sortierer() { zahl = new int [anzahl]; neueFolge(); } public void neueFolge() { for (int i=0; i zahl[i]= (int) (Math.random()*anzahl); } public void bubble() { for (int i=0;i for (int j=0; j if (zahl[j]>zahl[j+1]) {int temp = zahl[j]; zahl[j]=zahl[j+1]; zahl[j+1]=temp; } anzeige(); } public void auswahl() { } public void anzeige() {for (int i=0; i System.out.print(" "+zahl[i]); System.out.println(); } } und voll glein plan muss das mit einer if abfrage gemacht werden? und + Multi-Zitat Zitieren
#2 25. Januar 2008 AW: doppelte Elemente finden hi irgendwie hast du fehler in deinen quellcode sieht irgendwie komisch aus. Code: public void neueFolge() { for (int i=0; i [b] //hier fehlt noch was[/b] zahl[i]= (int) (Math.random()*anzahl); } public void bubble() { for (int i=0;i[b] //hier fehlt noch was[/b] for (int j=0; j[b] hier fehlt noch was[/b] if (zahl[j]>zahl[j+1]) {int temp = zahl[j]; zahl[j]=zahl[j+1]; zahl[j+1]=temp; } anzeige(); } public void anzeige() {for (int i=0; i [b]// hier auch [/b] System.out.print(" "+zahl[i]); System.out.println(); } rein theoretisch müsstest du dir ein 2 zweites array anlegen, in dem dann die werte gespeichert werden. also 1. for-schleife um das array, was auch doppelte hat dann eine bedingung die überprüft ob es die zahl schon gibt Code: for(int i = 0; i < array_alle.length; i++) { int wert = array_alle[i]; for (int j = 0; j < array_einzelne.length; j++) { if (wert == array_einzelne[j]) { // schon vorhanden }; else { array_einzelne[j]=wert; } } } ist jetzt aus dem stehgreif heraus. musst natürlich vorher die größe noch bestimmen. nice day!!! EDIT: habe das mal angepasst: Code: public class Sortierer { private int[] zahl; int anzahl = 50; public Sortierer() { zahl = new int [anzahl]; neueFolge(); } public void neueFolge() { for (int i=0; i [b]< zahl.length; i++)[/b] zahl[i]= (int) (Math.random()*anzahl); } public void bubble() { for (int i=0;i [b]< zahl.length; i++)[/b] for (int j=0; j [b]< zahl.length; j++)[/b] if (zahl[j]>zahl[j+1]) { int temp = zahl[j]; zahl[j]=zahl[j+1]; zahl[j+1]=temp; } anzeige(); } public void auswahl() { } public void anzeige() {for (int i=0; i[b]< zahl.length; i++)[/b] System.out.print(" "+zahl[i]); System.out.println(); } } + Multi-Zitat Zitieren
#3 29. Januar 2008 AW: doppelte Elemente finden hab mal was probiert ist das richtig Code: public class Sortierer { private int[] zahl; int anzahl = 50; int zaehler=0; public int[] doppelt; doppelt=new int[anzahl]; public Sortierer() { zahl = new int [anzahl]; neueFolge(); } public void neueFolge() { for (int i=0; i < zahl.length; i++) zahl[i]= (int) (Math.random()*anzahl); } public void bubble() { for (int i=0;i < zahl.length; i++){ for (int j=0; j < zahl.length; j++) if (zahl[j]>zahl[j+1]) { int temp = zahl[j]; zahl[j]=zahl[j+1]; zahl[j+1]=temp; } anzeige(); } } public void doppelteZahl(){ System.out.println(); System.out.print("Doppelte Zahlen:"); for (int i=0;i < zahl.length; i++){ for (int j=0; j < zahl.length; j++) if (zahl[j]=zahl[i]) { doppelt[zaehler]=zahl[j]; zaehler++; } anzeige(); } System.out.println(); } public void anzeige() { for (int i=0; i< zahl.length; i++) System.out.print(" "+zahl[i]); System.out.println(); } } + Multi-Zitat Zitieren