Przesuwanie wartości w tablicy

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
KapitanBomba
Posty: 6
Rejestracja: 17 maja 2017 16:45
Wersja środowiska: LabVIEW 2013
Has thanked: 3 times

Przesuwanie wartości w tablicy

Post autor: KapitanBomba » 22 sie 2017 14:23

Siemanko,

Sprawa wygląda następująco: mam 2 tablice, obie o rozmiarze 20. Pierwsza to tablica przekonwertowana z boolowskiej na 1,0, więc zawiera w losowych miejscach 1 a w losowych 0. Druga zawiera wartości double, jednak jest tak że jest ich kilka na początku, a potem są już same 0 (tyle żeby rozmiar tablicy był 20), jak to wygląda widać w załączniku 1. No i chodzi mi o to, aby tą tablicę z double, tak "poprzesuwać" aby jedynka z pierwszej tablicy odpowiadała niezerowej wartości z drugiej tablicy, jeżeli niejasno wyjaśnione to załącznik 2 powinien załatwić sprawę. Mi to się wydaje dość trudne do zrobienia, ale może się mylę :D Z góry bardzo dziękuję za wsparcie!
Załączniki
2_LV.png
2_LV.png (7.03 KiB) Przejrzano 626 razy
1_LV.png
1_LV.png (8.6 KiB) Przejrzano 626 razy

Awatar użytkownika
bogdani
Administrator
Posty: 1309
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Has thanked: 1 time
Been thanked: 1 time
Kontakt:

Re: Przesuwanie wartości w tablicy

Post autor: bogdani » 22 sie 2017 16:29

Witaj

Nie wiem co rozumierz porzez "poprzesuwać tablicę", ale jak dla mnie, to oczekiwany efekt uzyskasz, jak pomnożysz obie tablice przez siebie.
Wiadomo przecież, że mnożenie przez "0" daje nam zero :-)

bogdani
LabVIEW Champion, Certified LabVIEW Developer, Certified Professional Instructor
Tworzymy dedykowane rozwiązania do testów i pomiarów - www.veritech.pl

Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

KapitanBomba
Posty: 6
Rejestracja: 17 maja 2017 16:45
Wersja środowiska: LabVIEW 2013
Has thanked: 3 times

Re: Przesuwanie wartości w tablicy

Post autor: KapitanBomba » 22 sie 2017 17:02

Masz rację, tylko mi chodzi o to że moja tablica z wartościami double jest tak jakby "posortowana", w sensie że np od indeksów 0-10, mamy jakieś sensowne wartości, a 11-20 to zera. Jeżeli wymnożymy tablice to wartości będą poprawne tylko dla indeksów 0-10. A ja chciałbym te sensowne wartości rozłożyć w tablicy tak jak jedynki w tablicy 1-0.

MK_Zuk
Posty: 80
Rejestracja: 01 gru 2009 11:53
Wersja środowiska: LabVIEW 2014
Has thanked: 1 time
Been thanked: 1 time

Re: Przesuwanie wartości w tablicy

Post autor: MK_Zuk » 22 sie 2017 20:08

Witam,
z tego co co ja zrozumiałem to chodzi o coś takiego:
zadanie labview.png
a kod jest tutaj:
zadanie LabVIEW rozw.png
to co zaznaczyłem prostokątem to jest rozwiązanie zadania.
Pytanie tylko jak ma obsłużyć sytuację, gdy liczba "1" w jednej tablicy jest różna
od liczby niezerowych elementów drugiej.
O ile liczba 1 jest większa to nie ma problemu - do ostatnich "1" zostaną przypisane "0"
to w drugim przypadku, jeśli liczba "1" będzie mniejsza od liczby wartości niezerowych
to te ostatnie wartości niezerowe zostaną zgubione.

Pozdrawiam
Zuk

Awatar użytkownika
bogdani
Administrator
Posty: 1309
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Has thanked: 1 time
Been thanked: 1 time
Kontakt:

Re: Przesuwanie wartości w tablicy

Post autor: bogdani » 22 sie 2017 20:32

Mnie wyszło coś takiego

MK_Zuk, nie zakładam takiej sytuacji, ponieważ autor o tym nie pisał. Wiem, inżynierowi pojawia się takie pytanie, ale nie zakładajmy najgorszego, bo nam życia braknie. ;)
Załączniki
Tablica 01.png
Tablica 01.png (50.21 KiB) Przejrzano 609 razy
LabVIEW Champion, Certified LabVIEW Developer, Certified Professional Instructor
Tworzymy dedykowane rozwiązania do testów i pomiarów - www.veritech.pl

Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

MK_Zuk
Posty: 80
Rejestracja: 01 gru 2009 11:53
Wersja środowiska: LabVIEW 2014
Has thanked: 1 time
Been thanked: 1 time

Re: Przesuwanie wartości w tablicy

Post autor: MK_Zuk » 22 sie 2017 22:15

bogdani
generalnie podaliśmy to samo rozwiązanie, tylko Twoja implementacja jest bardziej czytelna.
U mnie nie widać co dzieje się w false - dlatego wrzuciłem snippeta.

Pozdrawiam
Zuk

Awatar użytkownika
bogdani
Administrator
Posty: 1309
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Has thanked: 1 time
Been thanked: 1 time
Kontakt:

Re: Przesuwanie wartości w tablicy

Post autor: bogdani » 22 sie 2017 22:34

Nie mam u siebie generowania tablic z danymi, tym masz. Dlatego więcej kodu.

Ja robiłem rozwiązanie w czasie jak ty wrzuciłeś swoje i już nie chciałem tego kasować, dlatego załączyłem moje rozwiązanie.

Ciekaw jestem, czy można to zrobić prościej :-)

bogdani
LabVIEW Champion, Certified LabVIEW Developer, Certified Professional Instructor
Tworzymy dedykowane rozwiązania do testów i pomiarów - www.veritech.pl

Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

PiDi
Posty: 601
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2014
Lokalizacja: Katowice
Has thanked: 2 times
Been thanked: 1 time

Re: Przesuwanie wartości w tablicy

Post autor: PiDi » 22 sie 2017 23:01

To jeszcze taka wersja pod rozwagę:
jedynkowybieracz.png
jedynkowybieracz.png (32.15 KiB) Przejrzano 593 razy
Załączniki
jedynkowybieracz.vi
(10.62 KiB) Pobrany 14 razy
ObrazekObrazekObrazek

KapitanBomba
Posty: 6
Rejestracja: 17 maja 2017 16:45
Wersja środowiska: LabVIEW 2013
Has thanked: 3 times

Re: Przesuwanie wartości w tablicy

Post autor: KapitanBomba » 23 sie 2017 13:30

Dziękuję Wam za pomoc! :D Myślałem że to jakiś skomplikowany algorytm z rejestrami przesuwnymi itp, a w sumie to proste...
Dzięki!

ODPOWIEDZ