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: 7
Rejestracja: 17 maja 2017 16:45
Wersja środowiska: LabVIEW 2013

Przesuwanie wartości w tablicy

Post autor: KapitanBomba »

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 11906 razy
1_LV.png
1_LV.png (8.6 KiB) Przejrzano 11906 razy
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: Przesuwanie wartości w tablicy

Post autor: bogdani »

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
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
KapitanBomba
Posty: 7
Rejestracja: 17 maja 2017 16:45
Wersja środowiska: LabVIEW 2013

Re: Przesuwanie wartości w tablicy

Post autor: KapitanBomba »

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: 83
Rejestracja: 01 gru 2009 11:53
Wersja środowiska: LabVIEW 2014

Re: Przesuwanie wartości w tablicy

Post autor: MK_Zuk »

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
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: Przesuwanie wartości w tablicy

Post autor: bogdani »

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 11889 razy
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
MK_Zuk
Posty: 83
Rejestracja: 01 gru 2009 11:53
Wersja środowiska: LabVIEW 2014

Re: Przesuwanie wartości w tablicy

Post autor: MK_Zuk »

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
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: Przesuwanie wartości w tablicy

Post autor: bogdani »

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
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Przesuwanie wartości w tablicy

Post autor: PiDi »

To jeszcze taka wersja pod rozwagę:
jedynkowybieracz.png
jedynkowybieracz.png (32.15 KiB) Przejrzano 11873 razy
Załączniki
jedynkowybieracz.vi
(10.62 KiB) Pobrany 400 razy
ObrazekObrazekObrazekObrazek
KapitanBomba
Posty: 7
Rejestracja: 17 maja 2017 16:45
Wersja środowiska: LabVIEW 2013

Re: Przesuwanie wartości w tablicy

Post autor: KapitanBomba »

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