-
1. Data: 2010-05-15 10:10:35
Temat: Wspolne i rozne elementy tablicy.
Od: Jacek <a...@o...pl>
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.
-
2. Data: 2010-05-15 12:25:24
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Mariusz Marszałkowski <m...@g...com>
On 15 Maj, 12:10, Jacek <a...@o...pl> 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?
>
Nie kumam. Jak używasz znaku rownosci? czemu 1=2 ?
Pozdrawiam.
-
3. Data: 2010-05-15 12:48:07
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Jacek <a...@o...pl>
Dnia Sat, 15 May 2010 05:25:24 -0700 (PDT), Mariusz Marszałkowski
napisał(a):
> On 15 Maj, 12:10, Jacek <a...@o...pl> 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?
>>
>
> Nie kumam. Jak używasz znaku rownosci? czemu 1=2 ?
> Pozdrawiam.
Zasada jest taka, ze jezeli wszystkie 4 wartosc sa rowne, to sumujemy je
jako jedna 'grupa'. Jezeli 1 i 2 wartosc jest rowna oraz 3 i 4 wartosc jest
rowna, to sumujemy 1+2 (jedna grupa) i sumujemy 3+4 (druga grupa).
Jezeli 1 i 2 i 3 sa rowne, to sumujemy 1+2+3 (jedna grupa) i zostaje 4 jako
druga grupa.
Ogolnie chodzi o to, ze znajdujemy w roznych kombinacjach rowne sobie
wartosci z tablicy 4 elementow.
Mam nadzieje, ze jasno sie wyrazilem;)
-
4. Data: 2010-05-15 13:09:10
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Jacek Czerwinski <...@...z.pl>
Jacek pisze:
> Dnia Sat, 15 May 2010 05:25:24 -0700 (PDT), Mariusz Marszałkowski
> napisał(a):
>
>> On 15 Maj, 12:10, Jacek <a...@o...pl> 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?
>>>
>> Nie kumam. Jak używasz znaku rownosci? czemu 1=2 ?
>> Pozdrawiam.
>
> Zasada jest taka, ze jezeli wszystkie 4 wartosc sa rowne, to sumujemy je
> jako jedna 'grupa'. Jezeli 1 i 2 wartosc jest rowna oraz 3 i 4 wartosc jest
> rowna, to sumujemy 1+2 (jedna grupa) i sumujemy 3+4 (druga grupa).
> Jezeli 1 i 2 i 3 sa rowne, to sumujemy 1+2+3 (jedna grupa) i zostaje 4 jako
> druga grupa.
> Ogolnie chodzi o to, ze znajdujemy w roznych kombinacjach rowne sobie
> wartosci z tablicy 4 elementow.
> Mam nadzieje, ze jasno sie wyrazilem;)
No nie za bardzo
Masz na myśli to? Jeśli rozumiem, bardziej jasny dla programisty zapis.
Matematyka też zresztą...
v1=v2=v3<>v4
?
-
5. Data: 2010-05-15 13:10:34
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Jacek <a...@o...pl>
Dnia Sat, 15 May 2010 15:09:10 +0200, Jacek Czerwinski napisał(a):
> Jacek pisze:
>> Dnia Sat, 15 May 2010 05:25:24 -0700 (PDT), Mariusz Marszałkowski
>> napisał(a):
>>
>>> On 15 Maj, 12:10, Jacek <a...@o...pl> 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?
>>>>
>>> Nie kumam. Jak używasz znaku rownosci? czemu 1=2 ?
>>> Pozdrawiam.
>>
>> Zasada jest taka, ze jezeli wszystkie 4 wartosc sa rowne, to sumujemy je
>> jako jedna 'grupa'. Jezeli 1 i 2 wartosc jest rowna oraz 3 i 4 wartosc jest
>> rowna, to sumujemy 1+2 (jedna grupa) i sumujemy 3+4 (druga grupa).
>> Jezeli 1 i 2 i 3 sa rowne, to sumujemy 1+2+3 (jedna grupa) i zostaje 4 jako
>> druga grupa.
>> Ogolnie chodzi o to, ze znajdujemy w roznych kombinacjach rowne sobie
>> wartosci z tablicy 4 elementow.
>> Mam nadzieje, ze jasno sie wyrazilem;)
> No nie za bardzo
> Masz na myśli to? Jeśli rozumiem, bardziej jasny dla programisty zapis.
> Matematyka też zresztą...
> v1=v2=v3<>v4
>
> ?
Tak. Chodzi o taki zapis i wszysktkie jego kombinacje.
-
6. Data: 2010-05-15 16:19:55
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Michoo <m...@v...pl>
Jacek pisze:
> Macie jakis pomysl na prosty algorytm, ktory pokaze ilosc grup i zsumuje
> wartosci w poszczegolnych grupach?
Sortujesz w dowolnym monotonicznym porządku. Zapisujesz pierwszy element
jako "poprzedni" i iterujesz od POCZĄTKU posortowanej tablicy - jak
bieżący jest równy "poprzedniemu" to zwiększasz licznik określający
rozmiar grupy, jak jest różny to znaczy że się zaczęła kolejna grupa -
wypisujesz info, zerujesz licznik i uaktualniasz "poprzedni".
--
Pozdrawiam
Michoo
-
7. Data: 2010-05-15 18:54:32
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Maciej Pilichowski <b...@S...FM>
Jacek wrote:
> Ogolnie beda kombinacje: 1grupa, 2 grupy i 4 grupy.
Na przyklad:
17, 5, 5, 21
milego dnia, hej
-
8. Data: 2010-05-15 21:50:33
Temat: Re: Wspolne i rozne elementy tablicy.
Od: Mariusz Marszałkowski <m...@g...com>
On 15 Maj, 18:19, Michoo <m...@v...pl> wrote:
> Jacek pisze:
>
> > Macie jakis pomysl na prosty algorytm, ktory pokaze ilosc grup i zsumuje
> > wartosci w poszczegolnych grupach?
>
> Sortujesz w dowolnym monotonicznym porządku. Zapisujesz pierwszy element
> jako "poprzedni" i iterujesz od POCZĄTKU posortowanej tablicy - jak
> bieżący jest równy "poprzedniemu" to zwiększasz licznik określający
> rozmiar grupy, jak jest różny to znaczy że się zaczęła kolejna grupa -
> wypisujesz info, zerujesz licznik i uaktualniasz "poprzedni".
>
To chyba najlepszy sposób.
Pozdrawiam
-
9. Data: 2010-05-16 10:32:43
Temat: Re: Wspolne i rozne elementy tablicy.
Od: "j...@f...adres.to" <w...@c...barg.cy>
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..
-
10. Data: 2010-05-16 10:39:03
Temat: Re: Wspolne i rozne elementy tablicy.
Od: "j...@f...adres.to" <w...@c...barg.cy>
Mariusz Marszałkowski wrote:
> On 15 Maj, 18:19, Michoo<m...@v...pl> wrote:
>> Jacek pisze:
>>
>>> Macie jakis pomysl na prosty algorytm, ktory pokaze ilosc grup i zsumuje
>>> wartosci w poszczegolnych grupach?
>>
>> Sortujesz w dowolnym monotonicznym porządku. Zapisujesz pierwszy element
>> jako "poprzedni" i iterujesz od POCZĄTKU posortowanej tablicy - jak
>> bieżący jest równy "poprzedniemu" to zwiększasz licznik określający
>> rozmiar grupy, jak jest różny to znaczy że się zaczęła kolejna grupa -
>> wypisujesz info, zerujesz licznik i uaktualniasz "poprzedni".
>>
> To chyba najlepszy sposób.
Na podanie liczebności każdej grupy.
Może tego właśnie chciał autor wątku, ale napisał coś innego.
Poza tym twój algorytm musi najpierw posortować tablicę, a potem
przeglądnąć ją element po elemencie.
Aby uzyskać wynik taki, jak w twoim algorytmie, wystarczy tylko raz
przeglądnąć tablicę. W awk wyglądałoby to mniej więcej tak:
{ wynik[$0]++ }
END { for (i in wynik) liczba_grup++
print "grup jest " liczba_grup
for (i in wynik) print "w grupie elementów o wartości " i " jest "
wynik[i] " elementów"
}
j..