LabVIEWForum.de - Zufalls Belegung

LabVIEWForum.de

Normale Version: Zufalls Belegung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo LV gemeinde,

Ich bin neu hier also entschuldigt etwas meine Unwissenheit, ich bin Student und belege einen AW Kurs in LV und habe die aktuelle LV Version für Studenten, yeah Smile

Ich muss als ein kleines Projekt 10 Felder mit zahlen von 1-10 belegen, dabei darf jede Zahl nur 1x vorkommen, und bei jedem Start des Programms sollte natürlich die Verteilung der Zahlen anders sein.

Mein Ansatz war jener: Ich erstelle 10 Zufallszahlen und vergleiche sie miteinander, sollten nun alle ungleich zueinander sein werden sie in Felder eingetragen, in C währe das ganze auch kein Problem, aber da ich in Sachen LV ein ziemlicher Frischling bin hab ichs leider noch nicht so recht hinbekommen :/

Hab dann auch noch einen zweiten weg versucht, der allerdings auch nicht so recht hinhauen wollte, ein array mit den Zahlen 1-10 belegen und dann sie nacheinander zufällig in eines der 10 Felder eintragen, aber da sah ich noch früher kein licht mehr als bei meiner ersten Methode ^^

bitte um euere Hilfe und währe euch zu Tiefste dankbar Smile
denn Bahn
Oder einfach mal "Karten mischen":
[attachment=44504]
(30.04.2013 07:51 )GerdW schrieb: [ -> ]Oder einfach mal "Karten mischen":
Aber erst ab lv12_img, da vorher fehlerhaft...
Hallo Jens,

also bei der Aufgabenbeschreibung:
Zitat:Ich muss als ein kleines Projekt 10 Felder mit zahlen von 1-10 belegen, dabei darf jede Zahl nur 1x vorkommen, und bei jedem Start des Programms sollte natürlich die Verteilung der Zahlen anders sein.
können wir (glaube ich) über den Bias hinwegsehen. Und in der Studentenversion sollte das VI auch enthalten sein...
Danke euch allen für die Rasche Antwort, werde mir das heute mal durch den Kopf gehen lassen und natürlich Testen Smile echt geniale community Smile)
Da du ja auch was lernen sollst nochmal ne alternative (quasi deine zweite Variante):

Mal im Pseudocode:

Code:
array1 = new Array[10] {1,2,3,4,5,6,7,8,9,10};
result = new Array[10];

for i = 0; i<10; i++ {

  int index = rounddown(random() * 10);
  result[i] = array1[rand];
  array1.deleteElement(rand);
}

return result;

Mal als Anregung. Das ganze dann nur noch auf Labview übersetzen ^^

Achso: Der Trick dabei ist, dass du im zweiten Array immer genau weist, wo du die Zufallszahl einfügen musst und beim ersten wie lang es ist. Entsprechend ist das recht effizient.

Ne weitere Alternative wäre einfach Bruteforcen:
Würfeln, vergleichen ob schon gewürfelt, wenn nein an die erste freie Stelle im Result Array, wenn ja verwerfen. Wiederholen bis result Array voll.
@kiesch:
Gut gemeint, aber...
Beitrag #2 -> http://www.labviewforum.de/Thread-Zufall...7#pid39657 Wink

Gruß, Jens
Referenz-URLs