Wpisany przez Tomasz Lubiński,
20 września 2012 12:08
Załóżmy że mamy daną tablicę n-elementów i chcemy policzyć ile razy występuje w niej element o wartości x. Niech będzie to tablica a o indeksach od 1 do n. Czyli kolejne jej elementy oznaczymy: a[1], a[2], a[3], ..., a[n-1], a[n].
By policzyć liczbę wystąpień elementu x w tej tablicy podejmiemy następujące kroki:
Operację zliczania wystąpień elementu tablicy możemy zapisać następującym schematem blokowym:
Niech będzie dana tablica 5-elementowa, a = {4, 1, 6, 1, 1}, zliczymy w niej wystąpienia elementu o wartości 1.
Na początku inicjujemy wynik = 0.
Sprawdzamy wartość pierwszego elementu a[1]: 4 = 1?
Nie, zatem przechodzimy do kolejnego elementu.
Sprawdzamy wartość drugiego elementu a[2]: 1 = 1?
Tak, zatem zwiększamy wartość zmiennej wynik o 1: wynik = wynik + 1 = 0 + 1 = 1 i przechodzimy do następnego elementu.
Sprawdzamy wartość kolejnego elementu a[3]: 6 = 1?
Nie, zatem przechodzimy do następnego elementu.
Sprawdzamy wartość kolejnego elementu a[4]: 1 = 1?
Tak, zatem zwiększamy wartość zmiennej wynik o 1: wynik = wynik + 1 = 1 + 1 = 2 i przechodzimy dalej.
Sprawdzamy wartość kolejnego elementu a[5]: 1 = 1?
Tak, zatem zwiększamy wartość zmiennej wynik o 1: wynik = wynik + 1 = 2 + 1 = 3.
To był ostatni element w tablicy, zatem ostateczny wynik to 3.
By policzyć liczbę wystąpień elementu x w tej tablicy podejmiemy następujące kroki:
- na początku zainicjujemy wynik wartością 0,
- następnie przejdziemy po kolei po wszystkich elementach tablicy i zwiększymy wynik o 1 za każdym razem gdy trafimy na element o wartości x,
- po przejściu po wszystkich elementach otrzymamy liczbę elementów o wartości x w tablicy.
Operację zliczania wystąpień elementu tablicy możemy zapisać następującym schematem blokowym:
Przykład:
Niech będzie dana tablica 5-elementowa, a = {4, 1, 6, 1, 1}, zliczymy w niej wystąpienia elementu o wartości 1.
Na początku inicjujemy wynik = 0.
Sprawdzamy wartość pierwszego elementu a[1]: 4 = 1?
Nie, zatem przechodzimy do kolejnego elementu.
Sprawdzamy wartość drugiego elementu a[2]: 1 = 1?
Tak, zatem zwiększamy wartość zmiennej wynik o 1: wynik = wynik + 1 = 0 + 1 = 1 i przechodzimy do następnego elementu.
Sprawdzamy wartość kolejnego elementu a[3]: 6 = 1?
Nie, zatem przechodzimy do następnego elementu.
Sprawdzamy wartość kolejnego elementu a[4]: 1 = 1?
Tak, zatem zwiększamy wartość zmiennej wynik o 1: wynik = wynik + 1 = 1 + 1 = 2 i przechodzimy dalej.
Sprawdzamy wartość kolejnego elementu a[5]: 1 = 1?
Tak, zatem zwiększamy wartość zmiennej wynik o 1: wynik = wynik + 1 = 2 + 1 = 3.
To był ostatni element w tablicy, zatem ostateczny wynik to 3.
Przykład w JavaScript:
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
borkov | C# | .cs | .cs | ***** / 4 | |
Adam CZ | C/C++ | C++ streams | .cpp | .cpp | ***** / 23 |
Jarek Niedźwiecki | C/C++ | C - z deklaracją tablicy i wyborem szukanego elementu | .cpp | .cpp | ***** / 6 |
wolaz1 | C/C++ | .cpp | .cpp | ***** / 3 | |
Jarek Niedźwiecki | Delphi/Pascal | .pas | .pas | ***** / 0 | |
Adam Chrapkowski | Haskell | .hs | .hs | ***** / 0 | |
Marcin Krasoń | Java | .java | .java | ***** / 5 | |
Tomasz Lubiński | JavaScript | z automatycznym opisem kroków algorytmu | .js | .js | ***** / 1 |
Tomasz Lubiński | JavaScript | tablica pobierana od użytkownika | .js | .js | ***** / 0 |
seveN. | Php | wykorzystana pętla for | .php | .php | ***** / 2 |
seveN. | Php | wykorzystana pętla while | .php | .php | ***** / 1 |
Nikodem Solarz | Ruby | metoda obliczająca ilość wystąpień danego elementu w tablicy | .rb | .rb | ***** / 0 |
Poprawiony: 07 lutego 2013 08:33
Zaczynami od pierwszego powtórzenia i z każdym następnym zwiększamy liczbę.
Odsyłam do zasad działania pętli for. :)