eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingWspolne i rozne elementy tablicy. › Re: Wspolne i rozne elementy tablicy.
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: