dominanta c podstawa tablica

0

Mam do wykonania takie polecenie: "Zadeklaruj 10-elementową 1-wymiarową tablicę do przechowywania liczb. Napisz kod, który uzupełni
ją liczbami pseudolosowymi od 0 do 30 włącznie. Znajdź dominantę". Pierwsza czesc to banał, ale jak znaleźć dominante? Jesli ktos moze pomoc byłoby super.. PS.jestem na podstawie, wiec prosze o w miarę podstawowe rozwiązanie problemu.

0

jako ze C to najszybciej napisac rozwiazanie (ktore nie bedzie najszybsze pod wzgledem szybkosci, ale bedzie ok) bedzie takie

posortuj tablice (uzywajac qsort) a pozniej zliczaj liczby, ta ktora wystepuje najwiecej razy jest dominanta (mozesz latwo zliczac bo nastepna jezeli jest inna to poprzednia juz nigdy w tablicy nie wystapi)

0

Policz ile razy każda liczba występuje w tablicy. Dominantą będzie ta która występuje najczęściej.

3

Jaka jest dominanta tablicy {5,5,8,24,33,2,11,2,30,15}?

0

5 i 2..

0

a bez sortowania da radę to zrobić?

0

Da się. Tworzysz sobie dodatkową tablicę o 31 elementach. Potem przeglądasz Twoją tablicę i kiedy masz np. liczbę 5 w tablicy to zwiększasz w dodatkowej tablicy indeks 4 o jeden (czyli tab[4]++, a 4 po prostu bierzesz jako liczby[i]-1). Jak to zrobisz to przechodzisz całą dodatkową tablicę i szukasz tego indeksu pod którym masz największą liczbę- czyli szukasz maximum.
Jakby były dwie dominanty to po wypisaniu pierwszej (zmieniasz max gdy coś jest silnie większe) zerujesz ten indeks i potem przeglądając po raz drugi tą tablicę możesz sprawdzać czy index==max, jeżeli tak to wypisz że to też jest dominantą.
Długie rozwiązanie ale raczej zadziała i jest dosyć toporne ;)

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