posortowanie dwóch tablic jednocześnie

0

Mam dwie tablice, np,

A = {2, 5, 4, 10, 6}
B = {j, c, d, g, k}

Chcę tablicę A posortować malejąco, tzn otrzymać {10, 6, 5, 4, 2}, a tablicy B zamienić tak elementy, żeby tym samym indeksom w tablicy A odpowiadały te same indeksy w tablicy B, tj. żeby "j" było na tym samym miejscu co "6", "c" na tym samym miejscu co "5" itd.
Czyli ostatecznie otrzymać takie tablice:

A = {10, 6, 5, 4, 2}
B = {g, k, c, d, j}

Czy da się to zrobić używając funkcji sort (w C++)?

dodanie znaczników <code> - fp

0

Jak zrobisz ro po ludzku:

struct EL { int val; char ch; } Tb[]={{2,'j'},{5,'c'},{4,'d'},{10,'g'},{6,'k'}};

to bez problemu:bool cmp(const EL &a,const EL &b) { return (a.val>b.val); }
...
sort(Tb,Tb+sizeof(Tb)/sizeof(*Tb),&cmp);

Jeżeli zaś zostawisz to nie po ludzku to też się da ale na tyle skomplikowane że prościej napisać własne sortowanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1