Cześć wszystkim!
Mam za zadanie posortować tablicę dwuwymiarową wg. odległości punktów tej tablicy od punktu 0,0.
Obojętnie czy malejąco czy rosnąco.
Mógłbym poprosić o wskazówki? Oczywiście takie rzeczy jak obliczanie odległości to mam zrobione.
Cześć wszystkim!
Mam za zadanie posortować tablicę dwuwymiarową wg. odległości punktów tej tablicy od punktu 0,0.
Obojętnie czy malejąco czy rosnąco.
Mógłbym poprosić o wskazówki? Oczywiście takie rzeczy jak obliczanie odległości to mam zrobione.
Quicksort i odpowiednia funkcja porównująca.
http://www.cplusplus.com/reference/cstdlib/qsort/
Jako, że qsort jest niestabilny i wynik nie zawsze może być tym co spodziewamy się zobaczyć, pomóc może stable_sort z std::algorithm np na wektorze obiektów klasy punkt. Rzecz jasna z własna funkcją porównującą.
http://www.cplusplus.com/reference/algorithm/stable_sort/
No niestety nie mogę używać takich funkcji. Chodziło mi o bardziej prymitywne metody, bo nie wiem jak zapisać odpowiednio pętlę.
No zrób może sortowanie bąbelkowe obiektów klasy punkt. Jest tam przecież miejsce, w którym określa się warunek co jest większe, a co mniejsze etc. Jak masz to robić ręcznie to może tak.
Aby wykorzystać funkcję w funkcji najlepiej wykorzystać template, tu masz przykład:
http://www.cplusplus.com/reference/algorithm/count_if/
(funkcja count_if wywołuje funkcje którą podasz jako parametr)