Zufallszahlen in ein Array schreiben && Durschschnittliche Abweichung berechnen

Status
Für weitere Antworten geschlossen.

huaba91

Well-known member
Zufallszahlen in ein Array schreiben && Durschschnittliche Abweichung berechnen

Hallo,

bräuchte Hilfe bei folgenden Aufgabenstellungen:confused::


Schreiben Sie ein Programm mit dem Namen RandInt, mit dem Sie n ganzzahlige Zufallszahlen z im Bereich von 0 <= z <= m erzeugen und ausgeben. Die Anzahl n und der Grenzwert m der zu erzeugenden Zahlen ist vom Benutzer frei wählbar, wobei n auf maximal 1E6 und m auf maximal RAND_MAX (ist im stdlib.h definiert) begrenzt ist. Die Ausgabe der Zahlen soll so erfolgen, dass jede Zahl in einer eigenen Zeile ausgegeben wird. Die Ein- und Ausgabe soll auf stdin und stdout erfolgen. Die Ausgabe des Programms kann wie folgt aussehen: Anzahl der Zufallszahlen? 3 Zahlenbereich 0<=Z<=? 100 45 22 76

und

Schreiben Sie ein Programm mit dem Namen IntStat, welches Ganzzahlen von stdin zeilenweise einliest, bis ein EOF erreicht wird. Geben Sie die Anzahl der gelesen Zahlen, die größte und kleinste gelesene Zahl, den Durchschnitt der Zahlen und die Standardabweichung jeweils auf drei Nachkommastellen aus. Verwenden Sie zum Testen einige Dateien, welche Sie mit RandInt erzeugt haben.

Wenn jemand Zeit hat wär es nett den Sourcecode zu posten bzw zu schicken.
Alles in C.
Danke schon mal.

huaba91
 
Hi,

wo hapert es denn jetzt bei dir? Hast du dir schonmal Gedanken gemacht?
Zu Aufgabe 1, ne Zufallszahl kannst du mit rand() (steinigt mich jetzt nicht, wenn es nicht genau stimmt) erzeugen, am besten du befragst mal Google nach rand ;)

Und bei Aufgabe 2, da du ja nicht weißt wieviele Zahlen eingegeben werden, wäre es am schlausten am Anfang ein Array zu definieren und dass dann zu vergrößern mit realloc wars glaube ;)

mfg. Chaosbohne
 
Bei der ersten weiß ich nicht wie ich das array bis zum eingegebenen grenzwert einbinde.

und bei der zweiten komm ich so gut wie gar nicht vom anfang weg^^
 
Bei der ersten weiß ich nicht wie ich das array bis zum eingegebenen grenzwert einbinde.

Was hat das Array denn mit dem Grenzwert zu tun? Die Länge des Arrays ist n.

und bei der zweiten komm ich so gut wie gar nicht vom anfang weg^^

So gut wie gar nicht = nichts? Sonst poste doch einfach schon mal was du hast...

Und bei Aufgabe 2, da du ja nicht weißt wieviele Zahlen eingegeben werden, wäre es am schlausten am Anfang ein Array zu definieren und dass dann zu vergrößern mit realloc wars glaube

Oder einfach 2x über die Textdatei iterieren und beim ersten Mal nur die Zeilen (was ja den Elementen des Arrays entspricht) mitzählen.

Wenn jemand Zeit hat wär es nett den Sourcecode zu posten bzw zu schicken.

Und was bringt dir das? ;)
Zeige doch einfach, wo es konkret(!) harkt, am besten mit deinem Quellcode.
 
Das array hat für mich zumindest soweit was damit zu tun, weil ich ja den oberen grenzwert eingebe und aus dem bereich 0 bis oberer grenzwert die zufallszahlen ausgebe

und ich hab noch nichts da ich noch nicht genau weiß wie ich was genau machen sollte^^
 
Du gibts bei Aufgabe 1 als Benutzer den oberen Grenzwert ein,
machste mit scanf oder fgets, wobei ich 2. empfehle.

Dann muss der Benutzer aber auch noch die Anzahl der Zufallszahlen n eingeben.
Das liest du wieder genauso ein wie mit scanf oder fgets, und dann kannst du einfach ein array erstellen, z.b. so int values[n], wobei n dein eingelesener Wert ist. Jetzt kannst du einfach an jede Position im array einen integer schreiben

// also für mich heißt frei wählbar vorher definieren via eingabe, ansonten erstmal so probieren und dann via realloc, somit fällt die vorherige Angabe von n weg

mfg. Chaosbohne
 
Das array hat für mich zumindest soweit was damit zu tun, weil ich ja den oberen grenzwert eingebe und aus dem bereich 0 bis oberer grenzwert die zufallszahlen ausgebe

Dem Array ist es aber egal, wie groß die Zahlen sind (solange sie Integer bleiben).

und ich hab noch nichts da ich noch nicht genau weiß wie ich was genau machen sollte^^

Gut, dann mal etwas Pseudocode für dich:

Code:
Zahlen m, n;

Ausgabe("Anzahl der Zufallszahlen?")
n = Eingabe

Ausgabe("Zahlenbereich 0<=Z<=?")
m = Eingabe

Deklariere Zahlenarray mit Länge n

i = 0

Solange i < n Mache 
Zahlenarray[i] = GeneriereZufallszahl(0,m)
i = i +1

Schreibe Array nach demselben Muster in Textdatei
 
Nächstes mal ein geeigneten Titel suchen und dir ein bisschen mehr Mühe geben, sonst ist der Thread schneller zu, als dir der Prof 0 Punkte geben kann :p

=> edited

Gruß
Broken Sword
 
Status
Für weitere Antworten geschlossen.

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten