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.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: "j...@f...adres.to" <w...@c...barg.cy>
    Newsgroups: pl.comp.programming
    Subject: Re: Wspolne i rozne elementy tablicy.
    Date: Sun, 16 May 2010 12:32:43 +0200
    Organization: http://onet.pl
    Lines: 49
    Message-ID: <hsohk0$asb$1@news.onet.pl>
    References: <e...@4...net>
    NNTP-Posting-Host: 194.42.110.2
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1274005952 11147 194.42.110.2 (16 May 2010 10:32:32 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Sun, 16 May 2010 10:32:32 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1)
    Gecko/2008070208 Firefox/3.0.0
    In-Reply-To: <e...@4...net>
    Xref: news-archive.icm.edu.pl pl.comp.programming:185584
    [ ukryj nagłówki ]

    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..

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: