@plemnik_w_piwie: Następnie mnożymy (ale używając operatora *, a nie MACIERZ.ILOCZYN, czyli wyraz po wyrazie) obie macierze przez siebie i otrzymujemy 'dolny trójkąt' macierzy 1b, która pomnożona przez wektor kwot, da nam właśnie szukane '{1\2\5\4\6\5\9\6\11\14\12\15\18\13\23}`:
@plemnik_w_piwie: Dalej już z górki:) Skoro mamy wektor={1\2\5\4\6\5\9\6\11\14\12\15\18\13\23}, to stosując --(wektor>=10) zamieniamy go na {0\0\0\0\0\0\0\0\1\1\1\1\1\1\1}. Już wiemy, które wiersze zawierają sumę bieżącą większą od 10. Ale nadal nie wiemy, które z tych wierszy są pierwsze dla danej osoby. Zatem stosujemy dokładnie ten sam algorytm jak powyżej: wyliczamy sumy bieżące dla tablicy z podziałem na osoby, ale tym razem naszym wejściem jest {0\0\0\0\0\0\0\0\1\1\1\1\1\1\1}, a wynikiem {0\0\0\0\0\0\0\0\1\1\2\3\2\1\2}. W tej
Data Imię Kwota
2012-07-17 Marcin 1 zł
2012-07-17 Władek 2 zł
2012-07-17 Piotrek 5 zł
2012-07-17 Marcin 3 zł
2012-07-18 Władek 4 zł
2012-07-18 Marcin 1 zł
2012-07-19 Władek 3 zł
2012-07-19 Piotrek 1 zł
2012-07-19 Marcin 6 zł
2012-07-20 Władek 5 zł
2012-07-20 Marcin 1 zł
2012-07-20 Marcin 3 zł
2012-07-20 Władek 4 zł
2012-07-22 Piotrek 7 zł
2012-07-23 Piotrek 10 zł
CEL: Zrobić ranking osób, których suma
*
, a nie MACIERZ.ILOCZYN, czyli wyraz po wyrazie) obie macierze przez siebie i otrzymujemy 'dolny trójkąt' macierzy 1b, która pomnożona przez wektor kwot, da nam właśnie szukane '{1\2\5\4\6\5\9\6\11\14\12\15\18\13\23}`:wektor={1\2\5\4\6\5\9\6\11\14\12\15\18\13\23}
, to stosując--(wektor>=10)
zamieniamy go na{0\0\0\0\0\0\0\0\1\1\1\1\1\1\1}
. Już wiemy, które wiersze zawierają sumę bieżącą większą od 10. Ale nadal nie wiemy, które z tych wierszy są pierwsze dla danej osoby. Zatem stosujemy dokładnie ten sam algorytm jak powyżej: wyliczamy sumy bieżące dla tablicy z podziałem na osoby, ale tym razem naszym wejściem jest{0\0\0\0\0\0\0\0\1\1\1\1\1\1\1}
, a wynikiem{0\0\0\0\0\0\0\0\1\1\2\3\2\1\2}
. W tej