Występowanie określonej wartości w tablicy.

0

Cześć.
Piszę program w NetBeans 8.2, mam jedno polecenie żeby z mojej tablicy wypisać wartości przypisane do elementu tabeli (np 23 element to 424 i występuje też w 1 elemencie), chodzi o to żeby wypisać "Liczba 424 występuje 2 razy.

Nie chodzi mi o podanie gotowego kodu, a lekkie nakierowanie początkującego.
/EDIT: Tablica robiona int tab[]

0

Jeżeli dobrze rozumiem, to wystarczy że pobierzesz ten element, a następnie przeiterujesz całą tablicę i zliczysz wystąpienia danej wartości.

0

Ale to 424 wpisuje na wejsciu czy mam wszystkie powtorzenia z tablicy wypisac ?

0

chodzi o wszystkie ogólnie jest tam 50 elementów i każdy ma dopisaną wartość i potrzebuje je wypisać kolejno ile razy każda występuje.

1

Jeżeli nie przeszkadza Ci złożoność n^2 to robisz sobie pętlę na tej tablicy, w której pobierasz wartość i robisz kolejną pętlę na tablicy, gdzie zliczasz wystąpienia, po czym je wypisujesz.

1

A jeśli przeszkadza Ci złożoność n^2, to użyj HashMap<Integer, Integer>. Kluczami są wartości w tablicy, a wartościami krotności ich występowania. Niedawno zamieściłem odpowiedni kod na forum, poszukaj.

0

@bogdans: przejrzałem ten kod i po próbie użycia go wyskakuje mi błąd z "keySet" oraz "get", że nie może znaleźć symbolu.

0

Daj link do kodu, nie chce mi się szukać. ;)

0

https://4programmers.net/Forum/Java/299495-zliczanie_powtorzen_w_treemap?p=1418926#id1418926

1

W tamtym kodzie jest wędrowanie po TreeMap, a u Ciebie po zwykłej tablicy

HashMap<Integer, Integer> counters = new HashMap<Integer, Integer>();
for(int i = 0; i < tab.length; i++)
{
    int number = tab[i];
    counters.put(number, counters.getOrDefault(number, 0) + 1);
}
0

@bogdans: kod jak najbardziej poprawny, tylko że po zastosowaniu jest puste pole pomiędzy elementami tablicy, a dalszą częścią tego co drukuję na Outpucie.

0

Problem rozwiązany, użyłem HashMap String i Integer'a, stworzenie Stringa z wypisanymi liczbami, potem frekwencja Integera pewnego A i wydrukowanie :D
Do zamknięcia temat :D

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