Gegeven is een NumPy-tabel $$A$$ met $$N$$ rijen en $$N$$ kolommen ($$N > 0$$), bestaande uit gehele getallen. We construeren een nieuwe NumPy-tabel $$B$$ die ontstaat door de kolommen van de oorspronkelijke tabel te herschikken.
Hierbij ga je als volgt tewerk:
- de eerste kolom (index 0) van de nieuwe tabel $$B$$ bestaat uit de kolom van $$A$$ met het in absolute waarde grootste element op de eerste rij van $$A$$ (dus de rij met indez 0).
Elke kolom van $$A$$ kan maar 1 keer in $$B$$ voorkomen, en kan dus niet een tweede keer in $$B$$ gebruikt worden.
- de tweede kolom (index 1) van $$B$$ bestaat uit de kolom van $$A$$ met het in absolute waarde grootste element op de tweede rij van $$A$$, waarbij
je enkel nog de niet gebruikte kolommen uit $$A$$ beschouwt
- algemeen : de kolom met index $$i$$ van $$B$$ bestaat uit de kolom van $$A$$ met het in absolute waarde grootste element op de rij met rangnummer $$i$$ van $$A$$, waarbij
je enkel nog niet gebruikte kolommen uit $$A$$ beschouwt
Komen in het voorgaande meerdere kolommen van $$A$$ in aanmerking om een bepaalde kolom van $$B$$ te worden, dan neem je de kolom in $$A$$ met kleinste kolomindex.
Schrijf de functie grootste_component()
met als enig argument de NumPy-tabel $$A$$, zoals hierboven gedefinieerd. Het resultaat is opnieuw een NumPy-tabel
met dezelfde dimensies als $$A$$, die je verkrijgt door hierboven beschreven aanpak te volgen.
Voorbeeld
a = [[1, 2, 3],[4, 5, 6], [7, 8, 9]]
grootste_component(np.array(a)) =
[[3 2 1]
[6 5 4]
[9 8 7]]
b = [[1, 2, 3],[10, 10, 10], [5, 7, 3]]
grootste_component(np.array(b)) =
[[ 3 1 2]
[10 10 10]
[ 3 5 7]]