Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Mehrfach auftretende Zahlen in Arrayfeld » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Mehrfach auftretende Zahlen in Arrayfeld
Beiträge zu diesem Thema Autor Datum
 Mehrfach auftretende Zahlen in Arrayfeld MarcelSchietinger 16.05.2010 13:29
 RE: Mehrfach auftretende Zahlen in Arrayfeld MaBa 17.05.2010 13:14

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
MarcelSchietinger
unregistriert
Mehrfach auftretende Zahlen in Arrayfeld Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Aufgabe lautet:

Erstellen sie ein Array mit 10 natürlichen Zufallszahlen aus dem Intervall[0,9] und berechnen Sie welche Elemente im Array mehrfach auftreten und wie oft sie auftreten.

Meine Ideen:
also mein "programm" sieht bisher so aus:

class Feld
{
public static void main (String[] args)


{ int [] a = new int [10];
int [] zaehler= new int [10];
int cnt=0;


for(int i=0;i<a.length;i++)
{
int zufallszahl=(int)(Math.random()*10); // nat.Zufallszahl aus dem Intervall [0;9]
a[i]=zufallszahl;
System.out.print(a[i] + " ");



}

System.out.println();
System.out.println();
System.out.println();

for(int k=0;k<zaehler.length;k++)
{
zaehler[k]=0;
System.out.print(zaehler[k] + " ");
}

System.out.println();
for(int j=0;j<10;j++)
{
System.out.print(j + " ");
}







}


}


ich hab int cnt=0; deklariert, diese zahl soll hochzählen sobald einträge im array gleich sind, nur weis ich nicht wo ich diesen zähler unterbringen muss...!

kann jmd helfen?
16.05.2010 13:29
MaBa
Eroberer


Dabei seit: 26.04.2010
Beiträge: 55

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Marcel,

das Füllen mit Zufallszahlen ist doch o.k. Jetzt musst du nur noch durch das Array wandern, dir jede Zahl merken und für den Rest des Arrays checken, ob die Zahl gleich deiner gemerkten Zahl ist. Ist das der Fall, dann kannst du deinen Counter incrementieren, ansonsten gehst du einfach weiter im Array.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
public class Feld
{
  public static void main (String[] args)
  {
    int [] a = new int [10];
    int cnt=1;

    for(int i = 0; i < a.length; i++)
    {
      int zufallszahl=(int)(Math.random()*10); // nat.Zufallszahl aus dem Intervall [0;9]
      a[i]=zufallszahl;
      System.out.print(a[i] + " ");
    }

    System.out.println("\n\n");

    for(int i = 0; i < a.length; i++)
    {
      for(int j = i+1; j < a.length; j++)
      {
        if(a[j] == -1) continue;
      
        if(a[j] == a[i])
        {
          cnt++;
          a[j] = -1;
        }
      }

      if(a[i] != -1)
              System.out.println(a[i] + ": " + cnt + " mal");
      cnt = 1;
    }
  }
}


Das Belegen von a[j] mit -1 sollte helfen, dass jede Zahl nur einmal ausgegeben wird. (Das wird nachher bei der Ausgabe berücksichtigt).

Der Code ist nur eine "Skizze", daher nur quick&dirty und ungetestet.
Sollte aber so funktionieren und die Aufgabe erfüllen ;-)

Viele Grüße,
MaBa

__________________
Dipl.-Inform. Markus Barth
Wissenschaftlicher Mitarbeiter
Studiengänge Angewandte Informatik / Medieninformatik

Fachhochschule Trier
Umwelt-Campus Birkenfeld
17.05.2010 13:14 MaBa ist offline E-Mail an MaBa senden Beiträge von MaBa suchen Nehmen Sie MaBa in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Mehrfach auftretende Zahlen in Arrayfeld