[Java] doppelte Elemente finden

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von ManiacKiller, 25. Januar 2008 .

  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
     
  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();
     }
     
     
    
    }
    
     
  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();
     }
    }
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.