Jak sortować ciąg współrzędnych

0

Witam. Mam do zrobienia pewne zadanie z c++. Mówiąc najogólniej polega ono na tym że wpisujemy najpierw ilość ciągów które podamy, następnie długość ciągu i później już sam ciąg który jest złożony z par np jeśli mamy ciąg 1, 2, 3, 4, 5, 6 to {1,2}, {3,4}, {5,6}. Ma on być sortowany względem pierwszej współrzędnej a jeżeli są równe to według drugiej współrzędnej, która ma większy nietrywialny dzielnik. Niestety z pewnych względów nie mogę opublikować tutaj publicznie kodu którego do tej pory napisałem więc jeżeli jest ktoś chętny pomóc mogę wysłać kod na priv i wyjaśnię wszystko dokładnie.

0

Dlaczego nie możesz pokazać kodu? Co rozumiesz przez sortowanie "według współrzędnej, która ma większy nietrywialny dzielnik"?

Dodatkowo polecam lekturę: https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/

1

Mówiąc najogólniej
tutaj tylko konkrety nie ogolniki

Niestety z pewnych względów nie mogę opublikować tutaj publicznie kodu którego do tej pory napisałem więc jeżeli jest ktoś chętny pomóc mogę wysłać kod na priv i wyjaśnię wszystko dokładnie.
srednio to brzmi. Brzmi troche jak chec gotowca. Dlatego zamiast kodu opisze Ci co masz zrobic

  1. Tworzysz sobie klase z tymi dwoma danymi (tak wiem mamy std::pair i mamy tuple, ale dla prostoty wytlumaczenia sposobu zakladamy ze stworzylismy klase z tymi dwoma zmiennymi)
  2. Wypelniasz ja swoimi liczbami (potrafisz to prawda?)
  3. std::sort
    https://stackoverflow.com/questions/1380463/sorting-a-vector-of-custom-objects
  4. zrobione
0

Wyjaśniłem wam na PW

1

na PW biore zlecenia 100 euro/h

moj post powinien Ci wyjasnic wszystko co potrzebujesz. Jezeli nie wiesz czegos zadaj konkretne pytanie

0

Kod podałem na PW i tam też piszę dlaczego nie mogę podać go tutaj. Nie mogę użyć gotowej metody sort, bo musi to być samodzielna implementacja. Jeżeli nie możesz mi pomóc w taki sposób to trudno. I nie, nie czekam tutaj na gotowca tylko o jakąś podpowiedź w jaki sposób posortować gdy pierwsze współrzędne pary są równe.

0

Wtedy sortuj po drugich. Jeśli na uczelni masz faktycznie tak kretyńsko zaimplementowany system antyplagiatowy jak to opisujesz to współczuję.

0

No właśnie w tym problem że nie potrafię tego zrobić. Działa tylko w wypadkach kiedy w ciągu podam max dwie takie same liczby w pierwszej współrzędnej a gdy jest już np 3 takie same liczby to już mi to dobrze nie działa. I to ma też sortować po największym dzielniku drugiej współrzędnej. Np jak jest {5,9}, {5,8} to powinno posortować tak że {5,8}, {5,9} bo największy dzielnik 8 to 4, a 9 to 3.

0

Wystarczy pozmieniać odpowiednio składnię, zmienne i kolejność gdy to możliwe, wtedy większość antyplagiatów uczelnianych się chowa do dziupli gdzie jego miejsce.
To chodzi o wyeliminowanie osobników, którzy nie rozumieją co mają w kodzie ;p.

Ale do rzeczy, polecam zapoznać się z pojęciem "Algorytmy sortujące" (eng. sort algorithm), a najlepiej schematem blokowym kilku sposobów, zrzutowaniem na swoje potrzeby, przetestowaniem który najlepiej działa w twoim przypadku po optymalizacji podjętych instrukcji :). W google będziesz miał masę wyników.

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