-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!feeder.erje.net!
news2.arglkargh.de!news.wiretrip.org!feeder2.cambriumusenet.nl!feed.tweaknews.n
l!postnews.google.com!o15g2000vbb.googlegroups.com!not-for-mail
From: Mariusz Marszałkowski <m...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Wspolne i rozne elementy tablicy.
Date: Sun, 16 May 2010 05:55:58 -0700 (PDT)
Organization: http://groups.google.com
Lines: 108
Message-ID: <f...@o...googlegroups.com>
References: <e...@4...net> <hsohk0$asb$1@news.onet.pl>
<1...@4...net>
NNTP-Posting-Host: 89.229.6.86
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1274014558 24685 127.0.0.1 (16 May 2010 12:55:58 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Sun, 16 May 2010 12:55:58 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: o15g2000vbb.googlegroups.com; posting-host=89.229.6.86;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729),gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.programming:185588
[ ukryj nagłówki ]On 16 Maj, 14:25, Jacek <a...@o...pl> wrote:
> Dnia Sun, 16 May 2010 12:32:43 +0200, j...@f...adres.to napisał(a):
>
>
>
> > Jacek wrote:
> >> Witajcie.
> >> Szukam rozwiazania takiego problemu.
> >> Mamy tablice jednowymiarowa, 4-elementowa.
> >> Wyszukujemy elementy tej samej wartosci i te, ktore sie roznia.
> >> Przyklad:
> >> 1=2=3=4 - w wyniku mamy 1 grupe
> >> 1=2=3<>4 - w wyniku mamy 2 grupy
> >> 1=2& 3=4 - tez 2 gr.
> >> 1=3=4<>2 - rowniez 2
> >> ..i pozostale kombinacje
>
> >> Ostatnim przypadkiem bedzie 1<>2<>3<>4, czyli mamy 4 grupy.
> >> Ogolnie beda kombinacje: 1grupa, 2 grupy i 4 grupy.
> >> Macie jakis pomysl na prosty algorytm, ktory pokaze ilosc grup i zsumuje
> >> wartosci w poszczegolnych grupach?
> >> Moze jakis prosty przyklad?
>
> >> Pozdrawiam.
>
> > Jeśli rzeczywiście chcesz jako wynik dostać liczbę podzbiorów o takich
> > samych elementach oraz dla każdego podzbioru sumę jego elementów, to
> > jest to banalnie proste do zaprogramowania nawet w czymś takim jak awk.
>
> > Przykładowy kod w awk :
>
> > { wynik[$0]+=$0 }
> > END { for (i in wynik) liczba_grup++
> > print "grup jest " liczba_grup
> > for (i in wynik) print "suma elementów o wartości " i " wynosi " wynik[i]
> > }
>
> > Na przykład dla danych wejściowych:
> > 0
> > 0
> > 1
> > 1
> > 2
> > 2
> > 2
>
> > jako wynik działania powyższego kodu otrzymasz:
> > grup jest 3
> > suma elementów o wartości 0 wynosi 0
> > suma elementow o wartości 1 wynosi 2
> > suma elementow o wartości 2 wynosi 6
>
> > j..
>
> Dzieki.
> Jak widac zle napisalem watek.
> Moze wiec tak:
> Mamy tablice 4 elementowa.
> Mamy takie kombinacje wyjsciowe:
>
> -jezeli wszystkie elementy maja rowne wartosci - liczymy sume tych
> elemetow,
> -jezeli 2 rowne i 2 rozne - w wyniku mamy 3 wartosci (suma dwoch rownych i
> wartosci dwoch roznych elementow),
> -3 rowne i 1 rozny - w wyniku mamy sume trzech rownych i wartosc czwartego
> elementu,
> -2 rowne i 2 rowne - dwie sumy,
> -4 rozne - cztery wartosci.
>
> Oczywiscie (dla np. drugiej kombinacji) moze byc tak:
> a(1)=a(2) i a(3)=a(4) ale tez a(1)=a(3) i a(2)=a(4) jak i a(1)=a(4) i
> a(2)=a(3)- to to samo logicznie, bo operujemy na dwoch 'grupach', ale sumy
> powinny byc liczone, gdy a(1)=a(2) i a(3)=a(4), to mamy a(1)+a(2) i
> a(3)+a(4) itd.
> Mam nadzieje, ze jasniej...
Teraz to zupełnie nic nie rozumiem :)
Masz tablice N-elementową. Zakładając że każdy z elementów może
trafić do zbioru co najwyżej jeden raz, możesz utworzyć z tej
tablicy 2^N różnych zbiorów ( ze zbiorem pustym ).
Np. dla a[0], a[1], a[2], masz:
1) a[0],
2) a[1],
3) a[2],
4) a[0],a[1],
5) a[0],a[2],
6) a[1],a[2],
7) a[0],a[1],a[2],
8) zbiór pusty
Trzy elementy, czyli 2^3 = 8 zbiorów. Bez powtórzeń więcej
się nie da, jest dokładnie 2^N.
Teraz pytanie, co decyduje o tym które zbiory Cię interesują, a
które nie?
Pozdrawiam
Następne wpisy z tego wątku
- 16.05.10 13:12 Jacek
- 16.05.10 13:38 Mariusz Marszałkowski
- 16.05.10 13:38 Marcin 'Qrczak' Kowalczyk
- 17.05.10 14:23 Jacek
- 17.05.10 14:29 Stachu 'Dozzie' K.
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-24 Przenośny zbiornik ciśnieniowy
- 2024-06-23 ładny dzień na cabrio
- 2024-06-24 Re: Mala autonomiczna kamera monitoringu
- 2024-06-23 HDMI
- 2024-06-23 Re: Mala autonomiczna kamera monitoringu
- 2024-06-24 Berlin => Customer Support Engineer <=
- 2024-06-24 Kraków => Head of International Freight Forwarding Department <=
- 2024-06-24 Szczecin => Senior PHP Developer (Symfony) <=
- 2024-06-24 Zabrze => Junior HelpDesk <=
- 2024-06-24 Warszawa => Spedytor Międzynarodowy <=
- 2024-06-24 Warszawa => Business Development Manager <=
- 2024-06-24 Marki => Wdrożeniowiec ERP <=
- 2024-06-24 Warszawa => Key Account Manager <=
- 2024-06-24 Marki => ERP Implementer <=
- 2024-06-24 Białystok => DevOps Engineer Conexa First (Contractor) <=