Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
foobarek
Posty: 5
Rejestracja: 12 cze 2011 19:29
Wersja środowiska: LabVIEW 2010

Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: foobarek »

Witam. Naukę z LabVIEW dopiero zaczynam, mam pewne zagadnienie do zrobienia i chciałbym prosić o pomoc.

Jest tablica, która zawiera 10 nazwisk (mogą być przypisane na stałe, bez różnicy). Każde kolejne losowanie ma wyłonić jedno nazwisko, nie mogą się oczywiście powtarzać. Wszystkie 10 wyników losowań ma być widoczne na panelu.

Na myśl przychodzą mi dwie opcję:
- po każdym losowaniu, wylosowane nazwisko zostaje usunięte z tablicy
- po każdym losowaniu, każde następne losowane nazwisko jest porównywane (pewnie za pomocą jakiejś pętla) ze wcześniejszymi

Mógłby mi ktoś doradzić które rozwiązanie wybrać (podejrzewam, że pierwsze) i jak się za to zabrać. Chociażby kilka ogólników, przykładowych bloczków, bo trochę nad tym przesiedziałem i szczerze, nic nie udało mi się wykonać.

Pozdrawiam!
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: oczekp »

podobne do zadania, które trzeba zrobić w związku z szkoleniem on line:) ^^
foobarek
Posty: 5
Rejestracja: 12 cze 2011 19:29
Wersja środowiska: LabVIEW 2010

Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: foobarek »

Tak, wiem o tym szkoleniu. Byłem nawet zarejestrowany, ale studia + czasem jakaś dorywcza robota i nie dałem rady ;)

W takim razie może ktoś się podzieli takowym programem, skoro podobny, to pewnie ze zmodyfikowaniem sobie poradzę (a jak nie to będę dalej pytał na forum).
Awatar użytkownika
n_dakota
Posty: 58
Rejestracja: 23 sty 2011 13:32
Wersja środowiska: LabVIEW 2018
Lokalizacja: Budapeszt

Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: n_dakota »

To pokaż to, co do tej pory udało Ci się zrobić.
foobarek
Posty: 5
Rejestracja: 12 cze 2011 19:29
Wersja środowiska: LabVIEW 2010

Re: Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: foobarek »

Proszę:
Obrazek

To tylko pierwsze losowanie, jakoś działa. Jeśli coś trzeba poprawić to piszcie. Co dalej? Jakaś pętla? Bo mogę (chyba) zrobić na takiej zasadzie pozostałe losowania, ale schemat strasznie obszerny wyjdzie. No i zbyt rozsądne rozwiązanie to nie będzie :)

EDIT.

Dobra, wspomogłem się jakimś przykładem z forum i wyszło mi coś takiego (załącznik petla.vi):
Obrazek

Po części mnie takie rozwiązanie satysfakcjonuje, ale chciałbym uzyskać coś takiego:

1. Program startuje, losuje pierwszy element po czym się zatrzymuje. Element zostaje wyświetlony na panelu.
2. Po ponownym uruchomieniu, program losuje drugi element, stop. Element na panel.
3. To samo aż zostaną wylosowane wszystkie elementy.
4. Elementy na panelu w osobnych 'wskaźnikach'.

Proszę o podpowiedź.
Załączniki
petla.vi
(10.79 KiB) Pobrany 345 razy
111.vi
(9.91 KiB) Pobrany 348 razy
Ostatnio zmieniony 13 cze 2011 01:23 przez foobarek, łącznie zmieniany 1 raz.
Awatar użytkownika
n_dakota
Posty: 58
Rejestracja: 23 sty 2011 13:32
Wersja środowiska: LabVIEW 2018
Lokalizacja: Budapeszt

Re: Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: n_dakota »

Moja propozycja rozwiązania:
Obrazek
Załączniki
111 (1).vi
(10.54 KiB) Pobrany 361 razy
foobarek
Posty: 5
Rejestracja: 12 cze 2011 19:29
Wersja środowiska: LabVIEW 2010

Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: foobarek »

Zanim zobaczyłem Twój post, robiłem edycje swojego (z podobnym rozwiązaniem). U Ciebie ten schemat jakoś "straszniej" wygląda, ale to pewne przez to, że sam go nie robiłem ;)

Spróbuję dokładniej go prześledzić. Na pewno bardzo fajnie wygląda ta zapełniająca się tablica. No i ciekawie użyte bloczki "Array Size", nie trzeba stałych pakować do schematu. Z LabVIEW jeszcze mało wiem, ale jestem dobrej myśli. Dziękuję bardzo za pomoc i jeśli można prosić o jeszcze, to wskazówki co do uzyskania:
1. Program startuje, losuje pierwszy element po czym się zatrzymuje. Element zostaje wyświetlony na panelu.
2. Po ponownym uruchomieniu, program losuje drugi element, stop. Element na panel.
3. To samo aż zostaną wylosowane wszystkie elementy.
4. Elementy na panelu w osobnych 'wskaźnikach'.
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Re: Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: rivui »

Hej!

Nie moglem spojrzec na wczesniejsze rozwiazania bo niestety posiadam tylko wersje LV 8.6 ale zrobilem cos takiego jak zalaczylem.

1. Kiedy odpalasz program automatycznie losuje pierwsze nazwisko
2. Nastepne nazwisko losuje po nacisnieciu przycisku losuj
3. Po wylosowaniu wszystkich nazwisk przycisk losuj nic nie robi
4. Wylosowane nazwiska gromadzi jako string oraz jako macierz wylosowanych nazwisk

Czy o cos takiego chodzilo?

P.S. Musisz pobrac oba pliki aby program dzialal
Załączniki
Filter empty array.vi
(8.05 KiB) Pobrany 322 razy
Losowanie nazwisk.vi
(10.49 KiB) Pobrany 376 razy
foobarek
Posty: 5
Rejestracja: 12 cze 2011 19:29
Wersja środowiska: LabVIEW 2010

Losowanie nazwisk z tablicy (pojedynczo, bez powtórzeń)

Post autor: foobarek »

Tak, można powiedzieć, że dokładnie o to. Spróbuję podobne rozwiązanie zastosować u siebie. Pomocne osoby otrzymały pochwały, dziękuję bardzo!
ODPOWIEDZ