witam, przydalaby sie w tym przypadku procedura tworzaca histogram - czyli liczaca czestosc wystepowania danej liczby. Napisalem taka procedure, mozesz jej uzyc jesli nie wyda ci sie zbyt ort!. procedura ta liczy ile razy jaka wartosc pojawila sie w tablicy jednowymiarowej.
w tej procedurze tablica musi byc numerowana od 1 !!! umiejetnie wykorzystujac moja procedure uzyskasz wszystkie potrzebne dane. powodzenia
type
TCoGdzie = record Value : extended; //liczba w tablicy
Count : Byte; //czestosc jej wystepowania
end;
private
Ile : array of TCoGdzie;
procedure Histogram(n: integer; var Eigenvalues: TEigenvalues);
var
TEigenvalues = Array[1..odpowiedni_rozmiar] of extended;
Eigenvalues : TEigenvalues;
implementation
Procedure TForm1.Histogram(n: integer; var Eigenvalues: TEigenvalues);
var suma, k, m, licznik: integer;
i,j:byte;
begin
Setlength(Ile, 0);
licznik := 0;
k := 0;
for i := 1 to n do //n to ilosc elementow w tablicy, procedura jest przystosowana do mojego programu wiec gdyby cos nie dzialalo to prosze pisac, mozna tu wstawic to co nas interesuje
begin
suma := 0;
for m := 0 to High(Ile) do suma := suma + ile[m].Count;
if (i <= suma) then continue else
licznik := 0;
for j := i to n do
if (Eigenvalues[i] = Eigenvalues[j]) then
begin
inc(licznik);
setlength(Ile, k+1);
ile[k].Value := Eigenvalues[i];
ile[k].Count := licznik;
end else break;
inc(k);
end;
memo1.Lines.Add('histogram');
for i := low(ile) to High(ile) do memo1.Lines.Add('Value: +floattostr(ile[i].Value)+' ,Count: ' +inttostr(ile[i].Count));
end;