Telemach [ Pretorianin ]
Algorytm do Histogramu - może ktoś pomóc?
Otóż chcę napisać program, który na podstawie danych narysuje mi histogram.
Wprowadzam określoną liczbę wyników. Następnie je sortuję. Wybieram maximum i minimum, na tej podstawie obliczam szerokość pojedynczego przedziału.
Załóżmy, że mam dane od 20.7 do 36.9 i z obliczeń szerokość przedziału wynosi 2.4.
Mam problem, aby pozliczać kolejno wyniki, czyli:
20.7 + 2.4 = 23.1
I teraz ile wyników z tablicy mieście się między 20.7 a 23.1
Nie mogę wymyślić algorytmu na pętlę do tego.
Może ktoś mi pomóc?
Piszę w VB, ale chodzi tu o ideę głównie :)
Reasumując:
- mam tablicę np. 45 wyników, posortowaną
- krok wynosi 2.4, min wartość to 20.7, max wartość to 36.9
- poszukuję pętli, która startuje od wartości 20.7 dodaje 2.4, i szuka w tablicy wyniku między 20.7 a 23.1
Głównym problem jest zliczenie wyników w tablicy (Array) o określonej wartości.
darek_dragon [ 42 ]
dane - tablica z danymi
histogram - tablica z histogramem
min - minimalna wartość
r - liczba przedziałów
krok - krok :)
For i = 0 To r
lo = min + i * krok
hi = min + (i+1) * krok
For ii = 0 To dane.Length
If dane(ii) >= lo And dane[ii] < hi Then histogram(i) = histogram(i) + 1
Next ii
Next i
(wybacz, jeśli kod powyżej to nie do końca VB; rzadko piszę w tym języku :)