Ausdünnen einer Zahlenreihe

Hallo, ich habe eine Zahlenreihe mit beliebiger Anzahl von Werten vorliegen. Ich möchte bei einer Anzahl 100 immer nur 100 Werte und diese entsprechend über die Zahlenreihe verteilt.
Somit erhalte ich also nie mehr als maximal 100 Werte. Wie kann man sowas mathematisch geschickt umsetzen um es dann zu Programmieren?

Hallo,

sei n die Größe deiner Zahlenreihe.
Um die Elemente gleichverteilt abzurufen brauchst du jeweils einen Abstand von (n-1)/100.
Das heißt, der Algorithmus könnte wie folgt aussehen:

Eingabe: reihe[]
n := reihe.länge
abstand := max(1, (n - 1)/100)
index := 0
ergebnis := []
for i from 0 to 99
 füge reihe[runden(index)] zu ergebnis hinzu
 index += abstand
 if index \>= n
 break
next

Nico

Hallo,

ich habe eine Zahlenreihe mit beliebiger Anzahl von
Werten vorliegen. Ich möchte bei einer Anzahl 100 immer nur 100
Werte und diese entsprechend über die Zahlenreihe verteilt.
Somit erhalte ich also nie mehr als maximal 100 Werte. Wie
kann man sowas mathematisch geschickt umsetzen um es dann zu
Programmieren?

also - erst mathematisch „aufbereiten“ und dann programmtechnisch erfassen macht
hier (falls ich dich richtig verstanden habe) wenig Sinn - auch wenn es so gehen würde.
Wie ich das sehe, ersparst du dir da keinen Programmschritt.
Es dürfte keine Schwierigkeiten bereiten im Programm jeden Wert einer Zahl einer
Vorgabe zuzuordnen und an einem „Ort“ abzulegen und abzuzählen.
Nun gut - was du genau machen willst, kann man aus deiner Anfrage nicht erkennen.

Gruß VIKTOR

ich habe eine Zahlenreihe mit beliebiger Anzahl von
Werten vorliegen. Ich möchte bei einer Anzahl 100 immer nur 100
Werte und diese entsprechend über die Zahlenreihe verteilt.
Somit erhalte ich also nie mehr als maximal 100 Werte. Wie
kann man sowas mathematisch geschickt umsetzen um es dann zu
Programmieren?

Hallo. Was heißt denn „entsprechend über die Zahlenreihe verteilt“? Hundert aus willkürlichen Positionen herausgegriffen, das ginge dann in Richtung Zufallsgenerator? Oder soll ein bestimmtes Schema gewahrt sein? Und falls Letzteres zutrifft, welches Schema?

Hi,

zuerst einmal musst Du definieren wie Du bei mehr als 100Werten diese auswählen willst.
Sollen diese zufällig ausgewählt werden(mal kleinerer Abstand mal größerer) oder gleich verteilt werden.

Für eine Gleichverteilung wurde ja schon was geschrieben. Ich mach dann mal was für eine Zufallsverteilung.

linkedList get100Werte(linkedList n){
if (n.size()