Strona 1 z 1
Delete from array
: 24 sty 2007 11:30
autor: kupsztal
Witam,
Czy znacie moze prosty sposob na usuniecie z array'a wszystkich elementow wiekszych lub mniejszych od podanej wielkosci ?
np. mamy {1,2,3,4,5,6,7,8,9,10} i chcemy usunac wszystko co jest wieksze lub rowne 5,5 aby w efekcie otrzymac {1,2,3,4,5}, oraz drugi array {6,7,8,9,10}.
Naturalnie jest to trywialny problem, ale moze jest jakis vi ktory to robi, a o ktorego istnieniu nie wiem.
Uzywam LV.7.1.1
Re: Delete from array
: 24 sty 2007 13:03
autor: rafider
Witaj,
zrobiłem coś takiego (załącznik). Z dowolnej macierzy tworzone są dwie macierze, jedna o elementach większych a druga o mniejszych od podanej wartości. Po kilku prostych zabiegach możesz zrobić z tego UserVi i używać jako pojedynczego bloczku.
Pozdrawiam
Re: Delete from array
: 24 sty 2007 14:01
autor: kupsztal
Dzieki. Nie do konca jednak mi o to chodzilo. To rozwiazanie jest dla mnie troche zbyt skomplikowane. Nie chce uzywac zadnych petli.
Pozwolilem sobie przerobic odrobine Twojego vi'a, oraz dodalem sposob ktorego aktualnie ja uzylem (jest w tym samym pliku jako "metoda 2").
Jakies inne sugestie ?
Re: Delete from array
: 24 sty 2007 14:45
autor: rafider
wszystko pięknie, ale od razu rzuciła mi się w oczy jedna rzecz: macierz danych jest sortowana, czyli defacto nie usuwasz elementów z macierzy danych tylko z macierzy posortowanej. Tutaj jest to bez znaczenia, ale jeżeli macierz danych będzie zawierała elementy których kolejność jest ważna (np mówi a jakiś parametrach) to w efekcie wszystko może się wysypać...
Re: Delete from array
: 24 sty 2007 14:46
autor: vugie
Jeżeli nie zależy ci na kolejności, to dosyć prosto jest tak
Re: Delete from array
: 24 sty 2007 15:15
autor: kupsztal
vugie pisze:Jeżeli nie zależy ci na kolejności, to dosyć prosto jest tak
O wlasnie. O cos takiego mi chodzilo. Faktycznie powinienem wspomniec ze moje dane sa posegregowane. Dzieki