liczby całkowite w postaci v-kształtnej

0

Witam,
Mam za zadanie wykonać pomiary czasów sortowania dla różnych typów danych. Wszystko mi wychodzi, tylko mam jeden problem - podanie wyników w postaci v-kształtnej.
Wszystkie potrzebne typy robiłam przy użyciu pętli for i np. funkcji rand (gdy potrzebowałam liczb losowych).
Nie mam jednak pojęcia jak uzyskać ten v-kształt. Może ktoś coś mi podpowiedzieć? Ręczne wpisywanie odpada, bo najmniejsza tablica jaką potrzebuje ma 1000 elementów...
Mile widziany język c/c++, ale ogólny algorytm jak do tego się zabrać też może mi pomóc

0

a co to ten v-kształt? To jakaś definicja, czy raczej subiektywna ocena?
Takie coś: {12, 9, 6, 4, 5, 9, 10} pasuje?

0

W poleceniu mamy tylko v-kształtnie. Tak jak pytałam wśród znajomych, to właśnie robią na zasadzie, że do połowy maleje, od połowy rośnie, czyli tak jak pokazałeś. Tylko nie wiem czy 'po obu stronach' nie powinny być te same liczby

0

Trzeba napisać dwie funkcje, takie co zwrócą random > od poprzedniego i random < od poprzedniego.
1 globalna zmienna przechowująca wartość ostatnio wylosowanego rand() i funkcje, które zwracają
last + rand()%(RAND_MAX - last) i
rand() % last
Problem się pojawia z rozkładem tych liczb pseudo losowych, bo wystarczy, że dla elementu n/2+1 wylosuje się od razu MAX i już pół tablicy będzie miało wartość MAX.
Można by zrobić jakiś sztuczny podział na n przedziałów, ale to w sumie ma testować algorytmy sortujące, a nie rozkład prawdopodobieństwa.

0

A mógłbyś podać przykład? Albo jakiś prostszy sposób? Bo nie bardzo rozumiem co miałabym zrobić ;/

0
wampirzyca napisał(a)

Witam,
Mam za zadanie wykonać pomiary czasów sortowania dla różnych typów danych. Wszystko mi wychodzi, tylko mam jeden problem - podanie wyników w postaci v-kształtnej.

Czyli to mają tak być wyniki tak podane?

No to wypada posortować wyniki, minimum (w zależności od parzystości ilości) umieścić gdzieś w środku. A potem co druga w dół listy a reszta w góre. Można nie szukać środka, tylko zwyczajnie (posortowe wyniki) od największego przekopiować co druga sztuke do tabeli, a potem pozostałe w drugą strone do drugiej części tabeli. I masz wyniki w tabeli.

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