Problem mit Aufgabenstellung und Realisierung...



  • Wir sollten zunächst ein programm schrieben, welches ein N-grosses Feld mit Zufallszahlen aus einem Bereich r (r<n) belegen soll...

    Dann wird die Häufigkeit der Zahlen gezählt und aus allem dann irgendwas mit ner langen Formel berechnet, das man eine Zahl am Ende hat.

    So klappt das auch problemlos,nur dann kommt punkt 3:

    -----------------
    Testen sie wiederum mit dem Programm aus Aufgabe 1 einen Zufallsgenerator der immer 0 zurückgibt, und einen, der die Zahlen von 0 bis r-1 in aufsteigender Folge ausgibt.
    -----------------

    Wie versteht ihr die Aufgabe ?
    Mit 0 habe ich einfach das Feld mit 0 belegt, aber wie soll Teil 2 gehen ?

    Hier mein Programm bislang:

    import java.util.Random;
    
    /*
     * Created on 06.10.2003
     *
     * To change the template for this generated file go to
     * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
     */
    
    /**
     * @author Student
     *
     * To change the template for this generated type comment go to
     * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
     */
    public class aufgabe1
    {
       public static final int N=1000;
       public static final int M=100;
       public static final int r=100;
    
       public static double summe(int[] feld1)
       {
          double x=0;
          double summe=0;
          double nr = (double)N/r;
          int[] feld2=new int[M];
    
          for (int i = 0; i < feld1.length; i++) // Häufigkeit zählen
                 {
                    feld2[feld1[i]]++;          
                 }
    
          for (int i = 0; i < feld2.length; i++)
          {
             x=((feld2[i]-(nr))*(feld2[i]-(nr)))/(nr);
             summe+=x;
          }
          return (summe);
    
       }
    
       public static void main(String[] args)
       {
        int[] feld1=new int[N];
    	int[] feld3=new int[N];
    	int[] feld4=new int[N];
    
        Random rnd=new Random(); 
    
        for (int i = 0; i < feld1.length; i++) // Zufallszahlen erzeugen
        {
          feld1[i]=rnd.nextInt(r);
    
        }
    	for (int i = 0; i < feld3.length; i++) // Feld mit 0 belegen
    		{
    			feld3[i]=0;
       		}
    
    	for (int i = 0; i < feld4.length; i++) // Feld mit 0 belegen
    			{
    
    			}
    
    	System.out.println(summe(feld1)); 
        System.out.println(summe(feld3));
    
      }
    
    }
    


  • Ist doch ganz einfach:

    und einen, der die Zahlen von 0 bis r-1 in aufsteigender Folge ausgibt.

    Die erste Zahl ist 0, die zweite ist 1, die dritte 2 usw.


Anmelden zum Antworten